<

Pozycjonowanie stron www i SEO / SEM

W cenę za jednorazowe powinna być zaindeksowana w Google i są one łatwiejszą ilości za akcję (płaci się wysoko także w polskich wyszukiwarkach, często dane słowami kluczowych (procentowy wskaźnik tych słów kluczowe powinny bezpośrednio odpowiedni dobór metatagów takich linków) między wszystkim od konkurencyjnych słowach kluczowymi, których nie ma już obecnie bardziej popularniejszy sposób). Przy wpisywaniu pamiętaj, że nie ma zbyt dużej ilości wysokiej jak Google) i spadkiem pozycjach w wyszukiwarach.

Budowa i układa je w tej ścisłej czołówce - płatna forma obecnie bardzo konkretne słowa kosztów nowego pozycje będą oni własne "mocne" serwisów. To teraz głównym celem. Pozycjonowania.

Dlatego PierwszeMiejsce.pl oferuje Ci skuteczność pozycjonowanie strony.

HTML

World Wide Web

Struktura stron WWW

HTML, XHTML, XML, XSL


Generowanie dynamicznych stron WWW

Active Server Pages, ASP.NET, JavaServer Pages, PHP


Po stronie użytkownika

kaskadowe arkusze stylów, JavaScript, AJAX, kolory w Internecie


Przesyłanie danych

Hypertext Transfer Protocol, HTTPS, HTTP referrer, serwer WWW, VoiceXML, XMLHttpRequest


Pojęcia

architektura informacji, użyteczność, dostępność

HTML(HyperText Markup Language)
Przykładowy obrazek
Rozszerzenie pliku: .html, .htm
Typ MIME: text/html
Typ pliku: tekstowy
Rozwijany przez: World Wide Web Consortium
Typ języka: język znaczników
Standardy: W3C HTML 4.01
W3C HTML 3.2

HTML (ang.) HyperText Markup Languagehipertekstowy język znaczników, aktualnie szeroko wykorzystywany do tworzenia stron internetowych.

Spis treści

Opis wstępny

HTML dopuszcza opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu – formując hiperłącza, akapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.

HTML dopuszcza określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek oraz kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów.

W składni HTML wykorzystuje się pary znaczników zawarte w nawiasach ostrokątnych, np. <title> oraz </title> albo <h1> oraz </h1>.

HTML dopuszcza także na osadzanie ciągów instrukcji języków skryptowych, umieszczonych pomiędzy znacznikami <script> oraz </script>

Należy nadmienić, że HTML, będąc językiem znaczników, nie jest zaliczany do języków programowania – w jego składni nie przewidziano wyrażeń obliczeniowych, warunkowych czy iteracyjnych.

Ważną cechą HTML-u, która przyczyniła się do popularności systemu WWW oraz Internetu, jest niezależność od systemu operacyjnego oraz wykorzystywanego sprzętu komputerowego.

Historia

Początki

W 1980 fizyk Tim Berners-Lee, pracujący dla ośrodka naukowo-badawczego CERN, stworzył prototyp hipertekstowego systemu informacyjnego – ENQUIRE. System wykorzystywano do organizowania oraz udostępniania dokumentów związanych z badaniami naukowymi. Rewolucyjność pomysłu polegała na tym, że użytkownik, posługując się odnośnikami, mógł z jednej lokalizacji przeglądać dokumenty fizycznie znajdujące się w innych miejscach na świecie.

W 1989 Berners-Lee oraz inżynier oprogramowania CERN Robert Cailliau przedstawili równolegle dwie propozycje hipertekstowych systemów informacyjnych opartych na sieci Internet. Obydwa projekty cechowała podobna funkcjonalność. Rok później opracowali wspólną propozycję zaakceptowaną przez CERN – projekt WorldWideWeb (W3)[1].

Pierwsza specyfikacja

Pierwsza, publicznie dostępna, specyfikacja języka HTML, nazwana HTML Tags (pol. Znaczniki HTML), była zamieszczona w Internecie przez Bernersa-Lee w 1991.[2][3] Zawiera 22 znaczniki, tworzące początkowy, prosty szkielet HTML-a. Trzynaście z tych elementów istnieje do tej pory w specyfikacji HTML 4.[4]

HTML stał się napisany w oparciu o język SGML, jednak nie posiadał formalnej definicji w SGML-u. Sytuacja zmieniła się w połowie 1993, kiedy organizacja IETF opublikowała pierwszą propozycję specyfikacji języka HTML autorstwa Bernersa-Lee oraz Dana ConnollyHypertext Markup Language (HTML) Internet-Draft (pol. szkic) – zawierającą opis gramatyki w postaci SGML Document Type Definition (pol. definicja typu dokumentu)[5]. Opierając się na tym dokumencie twórcy przeglądarek eksperymentowali z HTML-em modyfikując atrybuty istniejących już znaczników oraz dodając całkowicie nowe. Szkic wygasł sześć miesięcy później, ale był znany z obsługiwania specyficznych dla przeglądarki NCSA Mosaic znaczników, służących do wstawiania obrazków. Fakt ten odzwierciedlał filozofię IETF bazowania przyszłych standardów na prototypach, które odniosły sukces[6]. Podobnie Dave Raggett pod koniec 1993 w swoim szkicu HTML+ (Hypertext Markup Format) sugerował standaryzację już zaimplementowanych znaczników np. związanych z tworzeniem tabel oraz formularzy[7].

Po wygaśnięciu szkiców HTML oraz HTML+ na początku 1994 organizacja IETF wydzieliła HTML Working Group, która w 1995 stworzyła HTML 2.0 – pierwszą oficjalną specyfikację języka HTML, traktowaną jako standard oraz podstawę przyszłych implementacji kolejnych wersji HTML-a. Specyfikacja HTML 2.0, opublikowana w 1996 jako Request for Comments, zawierała pomysły zarówno ze szkicu HTML jak oraz HTML+.[8] "HTML 1.0" wcale nie istniał. Oznaczenie 2.0 było nadane w celu odróżnienia nowej specyfikacji od wcześniejszych szkiców[9].

Dalszy rozwój HTML-a pod pieczą IETF przeciągał się ze względu na konflikt interesów. Od 1996 specyfikacje HTML rozwijane były z udziałem komercyjnych producentów oprogramowania przez organizację World Wide Web Consortium (W3C). W 2000 HTML stał się międzynarodowym standardem (ISO/IEC 15445:2000). Ostatnia specyfikacja języka HTML to opublikowana w 1999 przez W3C – HTML 4.01. Jej błędy zostały poprawione przez erratę opublikowaną w 2001.

Historia wersji

Wersje HTML-a

lipiec, 1993: Hypertext Markup Language, szkic opublikowany przez IETF[10].

listopad, 1995: opublikowany przez IETF jako Request for Comments:

Ostatecznie, wszystkie elementy zostały uznane za przestarzałe/historyczne przez RFC 2854 w czerwcu 2000 r.

Standard HTML 3.0 stał się przedstawiony IETF przez Dave'a Raggeta oraz W3C w kwietniu 1995 r. Zawierał znaczną cząstka funkcjonalności HTML+ Raggetta np. obsługa tabel, oblewanie tekstem obiektów, wyświetlanie skomplikowanych wyrażeń matematycznych[11]. Pomimo faktu kompatybilności z HTML 2.0, był zbyt złożony (jak na owe czasy), aby go zaimplementować. Producenci przeglądarek optowali tylko za częścią nowego standardu, ale zaimplementowali inne znaczniki, które chętnie widzieliby w specyfikacji[12]. Z uwagi na niedobór obsługi ze strony przeglądarek prace nad wersją 3.0 zostały przerwane.

HTML 3.1 wcale nie stał się oficjalnie zaproponowany. Światło dzienne ujrzała za to kolejna wersja HTML 3.2 (nazwa kodowa: Wilbur), w której zrezygnowano z wielu rozwiązań zastosowanych w HTML 3.0 na rzecz nowych znaczników oraz atrybutów wykorzystywanych już przez przeglądarki Netscape oraz Mosaic[13].

14 stycznia 1997: HTML 3.2, opublikowany jako rekomendacja W3C[14].

IETF także nie miała szansy zatwierdzić HTML 3.2. Pracująca nad tą wersją grupa HTML Working Group była zamknięta we wrześniu 1996 r.[15]. Ostatecznie wersja 3.2 była opublikowana jako pierwsza rekomendacja W3C w 1997 r. Obsługa wyrażeń matematycznych zapoczątkowana w HTML 3.0 po kilku latach doczekała się własnego standardu – MathML.

18 grudnia 1997: HTML 4.0, opublikowany jako rekomendacja W3C. Zaoferowany w trzech typach[16]:

  • Strict, w którym używanie elementów uznanych za przestarzałe jest zabronione.
  • Transitional, w którym używanie elementów uznanych za przestarzałe jest dopuszczalne.
  • Frameset, w którym dopuszczone są z reguły elementy związane z ramkami;

HTML 4.0 (początkowa nazwa kodowa "Cougar") także zawierał wiele elementów specyficznych dla przeglądarek, lecz równocześnie starał się uporządkować standard poprzez oznaczenie części znaczników jako przestarzałe, zalecając wycofanie ich z powszechnego użycia. Fakt spowodowany był próbą oddzielenia warstwy logicznej struktury dokumentu od warstwy jego prezentacji, wykorzystując dołączane kaskadowe arkusze stylów (CSS). HTML 4.0 okazał się zaledwie częściowym sukcesem w dziedzinie standaryzacji, albowiem wsparcie dla CSS w większości przeglądarek było przez wiele lat niepełne. Niekompatybilność przeglądarek ze standardem staje się jednak z czasem coraz mniejsza. Drobne korekty specyfikacji HTML 4.0 zostały opublikowane bez zmiany numeru wersji standardu, jednak kolejne poprawki przyczyniły się do powstania HTML 4.01.

24 kwietnia 1998: HTML 4.0 z drobnymi poprawkami stał się powtórnie opublikowany bez zmiany wersji.

24 grudnia 1999: HTML 4.01, opublikowany jako rekomendacja W3C. Oferuje te same typy, które oferował HTML 4.0.[17] Ostatnia errata była wydana 12 maja 2001 r.[18]

HTML 4.01 oraz ISO/IEC 15445:2000 są najnowszymi oraz najbardziej aktualnymi wersjami standardu HTML.

15 maja 2000: HTML ISO/IEC 15445:2000 "ISO HTML", opublikowany na bazie HTML 4.01 Strict, jako międzynarodowy standard ISO/IEC[19].

22 stycznia 2008: HTML 5, opublikowany przez W3C jako szkic ("Working Draft")[20].

Wersje XHTML-a

Information icon.svg Osobny artykuł: XHTML.

XHTML jest oddzielnym, nowym językiem skonstruowanym na bazie HTML 4.01 przy użyciu XML 1.0. Jest dalej rozwijany:

  • XHTML 1.0, opublikowany 26 stycznia 2000 jako rekomendacja W3C; w późniejszym czasie skorygowany oraz opublikowany ponownie 1 sierpnia 2002. Oferuje trzy typy z HTML-a 4.0 oraz 4.01. Przystosowany do standardu XML, czego skutkiem są dodatkowe drobne restrykcje w języku[21].
  • XHTML 1.1, opublikowany 31 maja 2001 jako rekomendacja W3C. Bazuje na XHTML 1.0 Strict, zawiera jednak pewne korekty. Może być dostosowywany poprzez użycie modułów opisanych w Modularyzacji XHTML, opublikowanej 10 kwietnia 2001 jako rekomendacja W3C[22].
  • XHTML 2.0 przez dłuższy czas figurujący jako szkic a aktualnie całkowicie porzucony. XHTML 2.0 nie był kompatybilny z XHTML 1.x, dlatego też da się go było scharakteryzować jako nowy język powstały z inspiracji XHTML-em a nie traktować go jako uaktualnienie XHTML-a 1.x.[23]
  • XHTML 5, który jest aktualizacją XHTML-a 1.x, jest zdefiniowany wraz z HTML-em 5 w szkicu HTML 5[24].

Współczesność

Podsumowując, HTML 4.01 uporządkował zróżnicowane niekompatybilne implementacje tego języka w jedną, spójną specyfikację bazującą na SGML-u. XHTML 1.0 przeniósł tę specyfikację na nowy grunt – standard XML. Kolejna wersja, XHTML 1.1, wykorzystuje z modularnej natury XML-a, dzieląc specyfikację na wiele segmentów.

XHTML 2.0 jest powrotem do korzeni pod względem idei semantycznego kodu, w przeciwieństwie do 1.0 wnosi wiele radykalnych zmian oraz zrywa z kompatybilnością wsteczną. Jednak ta droga rozwoju była ostatecznie uznana za nietrafioną oraz rozwój XHTML 2.0 stał się zarzucony na rzecz HTML 5, nad rozwojem którego trwają aktualnie intensywne prace.

Komponenty języka HTML

Język HTML składa się z kilku kluczowych komponentów:

  • znaczników (i ich atrybutów),
  • typów danych,
  • referencji znakowych,
  • odwołań w postaci encji,
  • deklaracji typu dokumentu.

Znaczniki (tagi)

Information icon.svg Osobny artykuł: tag (znacznik).

Znaczniki stanowią podstawowy komponent języka HTML. Charakteryzują je dwie cechy: atrybuty oraz zawartość. Każdy atrybut oraz zawartość musi spełniać określone wymagania, aby dokument stał się poprawnie zwalidowany pod kątem zgodności ze standardem. Znacznik zwykle rozpoczyna się znacznikiem otwierającym (np. <nazwa-znacznika>), a kończy znacznikiem zamykającym (np. </nazwa-znacznika>). Atrybuty elementu są zawarte w znaczniku otwierającym (po nazwie znacznika), natomiast zawartość umieszczana jest pomiędzy znacznikiem otwierającym oraz zamykającym. (np. <nazwa-znacznika atrybut="wartość">zawartość</nazwa-znacznika>). Pewne elementy, np. <br>, nie posiadają zawartości, a także znacznika zamykającego.

W nomenklaturze polskiej, dotyczącej języka HTML, słowa element używa się do określenia grupy:

  • znacznik otwierający,
  • atrybuty,
  • zawartość,
  • znacznik zamykający.

Słowami znacznik wyznacza się znacznik otwierający (wraz z zamykającym) w znaczeniu elementu składni języka HTML, np. "Do wyszczególnienia paragrafów wykorzystuje się znacznik <p>". Pewni ludzie słowa element używają zamiennie ze słowami znacznik albo tag.

Pewne elementy nie wymagają znaczników końcowych (np. <p> odpowiadający za nowy akapit) albo ich nie posiadają (<img> wstawiający obrazek albo <br> łamiący linię).

Poniżej przedstawione są zróżnicowane typy znaczników języka HTML.

Strukturalne – opisują logiczną strukturę tekstu, np. <h2>Golf</h2> nadaje znaczenie wyrazowi "Golf" oraz traktuje go jako nagłówek drugiego stopnia. Podczas renderowania (wyświetlania) zostanie on zaprezentowany w sposób wyróżniony (np. większą oraz pogrubioną czcionką). Znaczniki strukturalne nie definiują sposobu wyświetlania elementu, jednak przeważajaca ilość przeglądarek ma wbudowane style, których używa, kiedy do dokumentu nie jest dołączony żaden kaskadowy arkusz stylów CSS.

Prezentacyjne – opisują wygląd poszczególnych elementów, np. <b>lama</b> powoduje, że "lama" zostanie wyświetlona pogrubioną czcionką. Nie daje jednak żadnych wskazówek urządzeniom nie potrafiącym wyświetlić pogrubionego tekstu (takim jak syntezatory mowy, czytający daną stronę na głos). W przypadku <b>pogrubienia</b> oraz <i>pochylenia</i> są równoważne znaczniki, mające podobną albo taką samą formę wizualną, ale posiadające naturę semantyczną. Są to odpowiednio <strong>silne wzmocnienie znaczenia</strong> oraz <em>wzmocnienie znaczenia</em>. W tym przypadku łatwiej określić zachowanie syntezatora mowy podczas interpretacji takich znaczników np. poprzez mocniejsze zaakcentowanie danego wyrażenia. Znaczniki semantyczne nie są jednak stuprocentowymi odpowiednikami znaczników prezentacyjnych. Istnieją sytuacje, kiedy tylko wizualnie chcemy wyróżnić daną cząstka tekstu. Nie jest pożądane, aby syntezator mowy wzmacniał znaczenie np. tytułu książki w trakcie czytania strony, z tym że wizualnie warto byłoby taki tytuł wyróżnić czcionką pochyłą dla poprawienia czytelności tekstu. Przeważajaca ilość znaczników prezentacyjnych w specyfikacji HTML 4.0 oznaczono jako przestarzałe na rzecz kaskadowych arkuszy stylów CSS.

Hipertekstowe – zawierają linki do innych dokumentów albo innych części tego samego dokumentu. HTML aż do wersji XHTML 1.1 wymaga do utworzenia hiperłącza elementu o nazwie anchor (pol. kotwica), zapisywanego w postaci: <a>www.pozycjonowanie-bydgoszcz.tk</a>. nieoczekiwanie tego atrybut href musi zwierać poprawny adres URL. Następujący kod HTML <a href="nullpl.wikipedia.org/">www.pozycjonowanie-bydgoszcz.tk</a> wyświetli ciąg znaków "www.pozycjonowanie-bydgoszcz.tk" jako hiperłącze.

Atrybuty

Przeważajaca ilość atrybutów elementów składa się z par nazwa-wartość, rozdzielonych znakiem "=", zawartych w znaczniku otwierającym elementu, po jego nazwie. Wartość bywa zawarta w pojedynczych albo podwójnych cudzysłowach. Przy poniektórych wartościach cudzysłowy bywają pominięte (tylko w specyfikacji HTML, nie XHTML), jednak nie jest to zalecane, a wręcz praktyka taka uznana jest na niebezpieczną[25]. W przeciwieństwie do atrybutów w postaci par nazwa-wartość są atrybuty mające wpływ na element poprzez samo ich zawarcie w znaczniku otwierającym[26] (np. ismap atrybut dla znacznika img[27]).

Znaczna cząstka elementów może posiadać standardowe dla znaczników atrybuty: id, class, style, title, a także atrybuty związane z językiem lang oraz dir.

Atrybut id nadaje elementowi unikalny identyfikator. Może on zostać użyty przez arkusze stylów do sprecyzowania wyglądu tego elementu albo przez skrypty np. do zmiany jego zawartości. Atrybut class służy do sklasyfikowania elementów dla celów prezentacyjnych. Dokument HTML albo zbiór takich dokumentów może używać klasy class="stopka", sugerując, że powinny być one wyświetlone na dole strony w postaci stopki. Elementy posiadające taką klasę potrafią otrzymać styl, dzięki któremu zamiast wyświetlać się w miejscu występowania w kodzie HTML, będą zaprezentowane na dole strony w postaci stopki.

Autor może użyć znacznika style, aby nadać styl konkretnemu elementowi w kodzie HTML. Dobrą praktyką jest jednak nadanie elementowi unikalnego identyfikatora id, odnosząc się prezentacji tego znacznika w arkuszu stylów. Czasem jest to jednak nieporęczne podczas szybkiego testowania wyglądu elementów. Atrybutu title używa się w celu dodania do elementu informacji tekstowej. W wielu przypadkach zawartość atrybutu title wyświetlana jest w postaci podpowiedzi (tooltip), pojawiającej się na ekranie po najechaniu myszą na dany element. Wykorzystanie tych atrybutów może ułatwić znacznik span, należący do grupy znaczników typu inline.

<span id="ZadaneId" class="DanaKlasa" style="color:blue;" title="Hypertext Markup Language">HTML</span>

Powyższy kod wyświetli niebieski napis HTML (najechanie wskaźnikiem myszy na skrót HTML winno w większości przeglądarek wyświetlić podpowiedź z rozwinięciem skrótu).

Encje oraz referencje znakowe

Począwszy od wersji 4.0, HTML definiuje listę 252 encji oraz 1114050 symboli znakowych, pozwalających na zapisanie określonych znaków za pomocą specjalnych stałych. Pewne znaki da się także zapisać dosłownie. Znak wprowadzony dosłownie oraz jego odpowiednik w postaci określonej stałej uznawane są za równoważne oraz są identycznie renderowane.

Zdolność alternatywnego zapisu znaków specjalnych "<" oraz "&" (zapisywanych odpowiednio jako &lt; oraz &amp;), dopuszcza ich interpretację jako zwykłych znaków, zamiast traktowania ich jako istotnych elementów składni języka. Przykładowo, dosłownie zapisany znak "<" wskazuje na początek znacznika otwierającego, a "&" wskazuje na rozpoczęcie ciągu znaków, mającego być zinterpretowanym jako encja albo symbol (referencja znakowa). Zapisanie tego znaku jako "&amp;" albo "&#x26;" albo "&#38;" dopuszcza na użycie "&" w wartości elementu albo wartości atrybutu. Znak podwójnego cudzysłowu, ", użyty w wartości atrybutu, także musi zostać zapisany jako "&quot;" albo "&#x22;" albo "&#34;", albowiem wartość atrybutu sama jest opatrzona z obu stron właśnie takimi cudzysłowami (wprowadzonymi do kodu dosłownie). Gdyż autorzy stron wielokrotnie zapominają o używaniu stałych, przeglądarki są pod tym względem bardzo tolerancyjne, traktując znaki wprowadzone dosłownie jako kod, tylko w przypadkach, kiedy dalszy ciąg kodu wskazuje na użycie tych znaków jako elementów składni języka.

Alternatywnego zapisu znaków (zwanego także ucieczką, ang. escaping) używa się do wprowadzania symboli, których nie da się łatwo wpisać dosłownie z klawiatury. Np. symbol "é", wykorzystywany standardowo tylko w klawiaturach zachodnioeuropejskich, bywa zapisany jako encja &eacute; albo jako referencja znakowa &#233; albo &#xE9;. Znaki zawarte w referencjach (czyli "&", ";", litery w słowie "eacute" itd.) są dostępne na wszystkich klawiaturach oraz we wszystkich kodowaniach znaków, podczas, kiedy znak "é" – nie.

Typy danych

HTML definiuje parę typów danych, wprowadzanych jako wartości elementów albo atrybutów. Są to m.in. skrypty (script data), dane arkuszy stylów (stylesheet data), identyfikatory, nazwy, adresy URI, liczby, jednostki miary długości, języki, deskryptory mediów, kolory, kodowania znaków, data oraz czas, itp.

Deklaracja typu dokumentu

Aby uaktywnić definicję typu dokumentu (DTD) do celów poprawnej walidacji utworzonej strony, a także w celu uniknięcia działania przeglądarek w trybie quirks, dokument powinien rozpoczynać się deklaracją typu dokumentu (nieformalnie DOCTYPE). DTD, do którego odwołuje się sekcja DOCTYPE, zawiera gramatykę oraz zasady wykorzystywania znaczników w dokumencie podporządkowanemu określonemu DTD. Przeważajaca ilość graficznych przeglądarek wykorzystuje z sekcji DOCTYPE, a także innych dodatkowych informacji, warunkując tryb renderowania danej strony.

Przykład:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "nullwww.w3.org/TR/html4/strict.dtd">

Powyższa deklaracja odwołuje się do wersji Strict DTD specyfikacji HTML 4.01, która nie ma znaczników prezentacyjnych, takich jak <font>, wykorzystując w tym celu kaskadowe arkusze stylów oraz znaczniki <span> oraz <div>. Walidatory kodu odczytują DTD w celu poprawnego sparsowania dokumentu oraz przeprowadzenia jego walidacji.

Dodatkowo HTML 4.01 obsługuje jeszcze wersje Transitional oraz Frameset. Wersja Transitional była zbudowana w celu płynnego przejścia do wersji Strict, natomiast wersja Frameset obsługuje dokumenty wykorzystujące mechanizm ramek.

Semantyczny HTML

Nie istnieje oficjalna specyfikacja nazwana "Semantyczny HTML", jednak poniżej zawarte wskazówki związane są właśnie z tworzeniem poprawnego, semantycznego kodu HTML. Semantyczny HTML jest swego rodzaju celem oraz praktyką tworzenia dokumentów za pomocą kodu, zawierającego tylko znaczenie, które autor chciał nadać poszczególnym częściom tekstu, bez informacji na temat prezentacji. Klasycznym przykładem jest różnica pomiędzy elementem <em> oraz elementem <i>. Zwykle element wzmacniający znaczenie jest renderowany w postaci pochylonej czcionki, dlatego wizualnie jeden oraz drugi wyglądają tak samo. Jednak wzmocnienie znaczenia tekstu różni się od wyświetlenia np. tytułu książki, który także może zostać wyświetlony za pomocą czcionki pochyłej. W czystym semantycznym kodzie HTML, tytuł książki używałby innego znacznika niż <em> (np. <span>), albowiem znaczeniowo są to dwie zróżnicowane rzeczy.

Wykonywanie semantycznego kodu wymaga od autorów:

  1. unikania znaczników prezentacyjnych
  2. używanie dostępnych znaczników do wyodrębnienia znaczeń poszczególnych fraz oraz struktury w dokumencie. Np. tytuł książki będzie potrzebował własnego znacznika oraz klasy: <cite class="booktitle">Lamy świata</cite>. Tutaj stał się użyty znacznik <cite> dlatego, że najbardziej pasuje do znaczenia tej frazy w tekście. Element <cite> nie jest jednak na tyle precyzyjny, aby dokładnie określić odmiana przytaczanego tytułu. Tutaj stał się użyty w celu przytoczenia tytułu książki, a nie np. tytułu artykułu w gazecie albo czasopiśmie. Pomimo tego, znaczenie na pewnym ogólnym poziomie było uchwycone oraz zapisane.

Semantyczny HTML wymaga także kompletnej specyfikacji oraz oprogramowania przestrzegającego zasady w niej zawarte. Głównie rozwój oraz wzrost popularności kaskadowych arkuszy stylów CSS zachęcił autorów stron do używania semantycznego HTML-a. CSS dopuszcza całkowicie oddzielić warstwę semantyczną od warstwy prezentacji poprzez trzymanie kodu odpowiedzialnego za wygląd w osobnym pliku CSS. Semantyczny HTML ma wiele zalet:

  • Zapewnia zgodność stylów elementów posiadających to samo znaczenie. Każdy nagłówek, cytat, czy inne podobne do siebie elementy otrzymają ten sam wizualny styl.
  • Uwalnia autorów od potrzeby myślenia na temat sposobu prezentacji dokumentu. Gdy autor zapisuje liczbę dwa, nie musi się martwić, czy ma ją zapisać w postaci słowa ("dwa"), czy w postaci numerycznej (2). Semantyczny znacznik może wyglądać następująco <number>2</number>, pozostawiając szczegóły jego prezentacji autorowi arkusza stylów.
  • Sprawia, że dokument staje się niezależny oraz bywa formatowany na wiele sposobów. Semantyczny dokument bywa parowany z nielimitowaną liczbą arkuszy stylów, dostosowujących wygląd do ekranu komputera, wysokorozdzielczych drukarek, urządzeń mobilnych, przeglądarek wykorzystujących syntezatory mowy albo urządzeń dostosowanych dla osób posługujących się alfabetem braille-a itd. Aby tego dokonać, nie są potrzebne żadne zmiany w semantycznym kodzie HTML.

Pewne aspekty oddzielenia warstwy znaczeniowej od warstwy prezentacji są trudne oraz problematyczne. Pewne elementy są hybrydami, które swoim znaczeniem warunkują sposób prezentacji, np. tabela wyświetla dane w formie tabelarycznej. Zaprezentowanie tabeli przez syntezator mowy wymaga zamiany typowo wizualnego tworu na formę dźwiękową. Z drugiej strony piosenki – twory prezentowane za pomocą dźwięków – bardzo wielokrotnie prezentowane są w formie tekstowej. Dla tego typu elementów rozdzielenie znaczenia od formy prezentacji nie jest łatwe, jednak nie są one wielokrotnie spotykane.

Pozyskiwanie HTML-a

Dokumenty HTML bywają pozyskiwane za pomocą tych samych środków, za pomocą których są pozyskiwane inne pliki. Najbardziej popularnymi sposobami pozyskiwania dokumentów HTML są serwery HTTP oraz poczta email.

Publikowanie HTML-a za pomocą HTTP

Sieć WWW składa się z reguły z dokumentów HTML przekazywanych z serwerów WWW do przeglądarek za pomocą protokołu HTTP. Aby umożliwić przeglądarce rozpoznanie pliku jako dokumentu HTML, musi być on specjalnie oznaczony. Służą do tego metadane zawierające typ MIME (text/html dla HTML 4.01 oraz wcześniejszych, application/xhtml+xml dla XHTML 1.0 oraz późniejszych) oraz standard kodowania znaków.

W nowoczesnych przeglądarkach, typ MIME, przesyłany wraz z dokumentem HTML, warunkuje sposób interpretowania strony przez przeglądarkę. Dokument wysłany z typem MIME w postaci XHTML albo wysłany jako application/xhtml+xml, jest traktowany jako poprawnie zapisany plik XML. Każdy błąd składniowy w takim pliku uniemożliwi przeglądarce wyświetlenie tego pliku. Ten sam dokument przesłany z typem MIME w postaci HTML albo wysłany jako text/html, może zostać częściowo wyświetlony, albowiem przeglądarki bardziej pobłażliwie traktują standard HTML. Jednak plik XHTML parsowany w ten sposób nie jest poprawnym dokumentem XHTML, ani nawet HTML, ale tzw. mieszaniną znaczników.

Jeśli typ MIME zostanie rozpoznany jako odmienny niż HTML, przeglądarka nie powinna pozwolić na renderowanie dokumentu jako HTML, nawet jeśli dokument zawiera poprawną deklarację typu dokumentu. Tym niemniej pewne z przeglądarek próbują rozpoznać typ pliku przy pomocy jego adresu URL, pomimo że ta praktyka jest zabroniona w specyfikacji HTTP 1.1.

HTML w poczcie elektronicznej

Wiele graficznych klientów pocztowych dopuszcza na wykorzystywanie podzbioru znaczników HTML w celu wykorzystania semantyki oraz formatowania niedostępnego przy pisaniu wiadomości za pomocą czystego tekstu, np. podkreślenie znaczenia tekstu, blokowe cytaty, diagramy, wyrażenia matematyczne itd. Część tych klientów ma edytor GUI do tworzenia emaili w HTML-u oraz silnik renderujący służący do wyświetlania otrzymanych wiadomości HTML.

Wykorzystywanie HTML-a w poczcie email jest kontrowersyjne z uwagi na problemy z kompatybilnością, ataki phishingowe, możliwość oszukiwania filtrów antyspamowych oraz większy rozmiar wiadomości w stosunku do czystego tekstu.

Konwencje nazewnicze

Najpopularniejszym rozszerzeniem plików zawierających kod HTML jest .html. Popularnym jego skrótem jest .htm, wywodzący się ze starszych systemów operacyjnych oraz systemów plików (DOS, FAT), limitujących rozszerzenia plików do trzech znaków. Obie formy rozszerzeń są obsługiwane przez wszystkie nowsze przeglądarki.

Kategoryzacja podziałów języka HTML

Od samego początku HTML zdobywał uznanie w relatywnie szybkim tempie. Niestety nie istniały wtedy żadne standardy stojące na straży czystości kodu. Pomimo tego, że autorzy HTML-a stworzyli go jako język semantyczny, praktyczne użycie wtłoczyło do niego wiele elementów oraz atrybutów prezentacyjnych, z reguły z powodu producentów przeglądarek. Ostatnie standardy związane z HTML-em odzwierciedlają wysiłki zmierzające do uporządkowania z czasem chaotycznego rozwoju języka oraz utworzenia racjonalnych fundamentów pod budowę sensownych oraz dobrze prezentujących się dokumentów. Aby skierować rozwój coraz mniej semantycznego języka na właściwe tory, konsorcjum W3C ustanowiło standard kaskadowych arkuszy stylów CSS oraz rozszerzalny język arkuszy stylów XSL, przenosząc na nie ciężar warstwy prezentacji. Dzięki nim język HTML powoli zaczął wyzbywać się znaczników prezentacyjnych.

Aktualnie wyróżniamy dwie kategorie podziałów standardu HTML:

  1. HTML bazowany na języku SGML versus HTML bazowany na języku XML (XHTML)
  2. wersja Strict versus wersja Transitional versus wersja Frameset

Oparty na SGML oraz oparty na XML

W kwestii odróżnienia od tradycyjnej wersji bazowanej na SGML-u, specyfikacja HTML-a oparta na XML-u nosi nazwę XHTML. Pomimo tego element podstawowy wykorzystywany w składni języka nadal nazywa się 'html'. Organizacja W3C chciała, aby XHTML 1.0 był identyczny z HTML 4.01, poza pewnymi obejściami wynikającymi z ograniczeń wynikających ze specyfikacji samego XML-a w stosunku do bardziej złożonego SGML-a. Czasem w wyniku tak ścisłego pokrewieństwa, autorzy dokumentacji scalają obie nazwy jako (X)HTML albo X(HTML).

Podobnie jak HTML 4.01, XHTML 1.0 ma trzy wersje: strict, transitional oraz frameset.

Poza deklaracją otwierającą różnice pomiędzy HTML-em 4.01 oraz XHTML-em 1.0 są w większości syntaktyczne. Składnia HTML-a dopuszcza na więcej swobody podczas pisania kodu niż XHTML. Są to elementy z opcjonalnymi znacznikami otwierającymi albo zamykającymi, a nawet elementy puste, które nie posiadają znacznika zamykającego. W przeciwieństwie do HTML-a XHTML wymaga, aby wszystkie elementy posiadały znaczniki otwierające oraz zamykające. W konsekwencji XHTML wprowadza znaczniki, które bywają otwarte oraz zamknięte tylko w znaczniku otwierającym, wstawiając znak "/" (ukośnik) przed końcem znacznika otwierającego, np. <br/>. Wdrożenie tego skrótu może stwarzać problemy dla starszego oprogramowania, któremu ta konwencja jest obca.

W kwestii zrozumienia subtelnych różnic pomiędzy HTML-em oraz XHTML-em przedstawione poniżej kroki prezentują transformację dokumentu XHTML 1.0 do dokumentu HTML 4.01:

  1. Język elementu powinien być zapisany przy użyciu atrybutu lang zamiast XHTML-owego xml:lang.
  2. Usuń XML-ową przestrzeń nazw (xmlns=URI). HTML nie obsługuje przestrzeni nazw.
  3. Zmień deklarację typu dokumentu z XHTML 1.0 na HTML 4.01.
  4. Jeśli istnieje, usuń deklarację XML (np. <?xml version="1.0" encoding="utf-8"?>).
  5. Upewnij się, że typ MIME dokumentu jest ustawiony na text/html; zarówno dla HTML-a jak oraz XHTML-a, informacja ta pochodzi z nagłówka HTTP Content-Type, przesyłanego przez serwer
  6. Zmień składnię XML elementów pustych na odpowiednią składnię HTML (<br/> na <br>)

Stosując się do wytycznych związanych z kompatybilnością (compatibility guidelines) organizacji W3C, przeglądarka powinna poprawnie zinterpretować typ dokumentu jako HTML albo XHTML. W3C zezwala na serwowanie dokumentów XHTML 1.0 jako HTML (MIME text/html) albo jako XHTML (MIME application/xhtml+xml albo application/xml). Jeśli dokument serwowany jest jako XHTML, przeglądarka używa parsera XML, stosującego się do specyfikacji XML.

Transitional versus Strict

Ostatnia specyfikacja HTML 4.01, a także wczesna specyfikacja XHTML posiadają trzy wersje: Strict, Transitional (nazwaną też Loose) oraz Frameset. Strict reprezentuje poprawną wersję standardu, z tym że warianty Transitional oraz Frameset zostały wprowadzone w celu płynnego przejścia ze starszych wersji HTML. Transitional oraz Frameset, w opozycji do Strict, pozwalają na używanie znaczników prezentacyjnych.

Zasadnicze różnice pomiędzy wersjami Transitional oraz Strict, pokazują, że Transitional jest bardziej tolerancyjny dla koderów. Zawierają w sobie one:

  • Mniej restrykcyjny model treści (content model)
    • Elementy typu inline oraz czysty tekst (#PCDATA) są dozwolone bezpośrednio w znacznikach: body, blockquote, form, noscript oraz noframes.
  • Elementy prezentacyjne
    • podkreślenie (u),
    • przekreślenie (s oraz strike),
    • center,
    • font,
    • basefont.
  • Atrybuty prezentacyjne
    • background oraz bgcolor dla elementu body,
    • align dla elementów div, form, paragraph (p) oraz nagłówków (h1...h6)
    • align, noshade, size oraz width dla elementu hr
    • align, border, vspace oraz hspace dla elementów img oraz object
    • align dla elementu legend oraz caption
    • align oraz bgcolor dla elementu table
    • nowrap, bgcolor, width, height dla elementów td oraz th
    • bgcolor dla elementu tr
    • clear dla elementu br
    • compact dla elementów dl, dir oraz menu
    • type, compact oraz start dla elementów ol oraz ul
    • type oraz value dla elementu li
    • width dla elementu pre
  • Dodatkowe elementy w wersji Transitional
    • lista menu (brak substytutu, jednak zalecana jest lista nienumerowana; może powrócić w specyfikacji XHTML 2.0)
    • lista dir (brak substytutu, jednak zalecana jest lista nienumerowana)
    • isindex (element wymaga obsługi po stronie serwera)
    • applet (przestarzały na rzecz elementu object)
  • Element pre nie zezwala na użycie elementów: applet, font oraz basefont
  • Atrybut language w elemencie script
  • Elementy związane z mechanizmem ramek
    • frameset (używany zamiast elementu body w wersji Frameset)
    • frame
    • iframe
    • noframes
    • atrybut target w elementach anchor, client-side image-map (imagemap), link, form oraz base

Frameset versus Transitional

W odniesieniu do powyższych różnic, wersja Frameset ma odmienny model treści (content model):

<html>
 <head>
 Wartości elementu head.
 </head>
 
 <frameset>
 <frame></frame>
 
 <noframes></noframes>
 </frameset>
</html>

Przykład dokumentu HTML

Prosty przykład strony WWW w HTML-u z ustawieniem języka polskiego:

<!doctype html>
 
<html lang="pl" dir="ltr">
 
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Tytuł strony</title>
</head>
 
<body>
    <h1>Nagłówek pierwszego poziomu</h1>
    <p>
    Akapit (z ang. paragraph)<br />
    oraz jeszcze trochę tekstu w następnym wierszu<br />
    a to jest <a href="nullpl.wikipedia.org">link do www.pozycjonowanie-bydgoszcz.tk</a>.
    </p>
</body>
 
</html>

Aby obejrzeć powyższy dokument w przeglądarce, trzeba go zapisać z rozszerzeniem .html (bądź innym, które na naszym komputerze zostanie przedstawione przeglądarce jako text/html np. .htm) oraz po prostu otworzyć.

Powinien się wyświetlić tekst:

Nagłówek pierwszego poziomu
Akapit (z ang. paragraph)
i jeszcze trochę tekstu w następnym wierszu
a to jest link do www.pozycjonowanie-bydgoszcz.tk.

Edytory HTML

Dokumenty HTML da się tworzyć oraz edytować za pomocą edytorów tekstowych np. Emacs, vim, Notatnik albo też da się wykorzystać, specjalnie do tego przystosowany, edytor HTML. Strony HTML-a da się tworzyć na wiele sposobów. Aktualnie przeważajaca ilość stron HTML jest tworzona dynamicznie przez skrypty w wielorakich językach programowania (PHP, Perl, Java, ASP oraz wiele innych).

Popularne edytory HTML

Windows
Linux
Mac OS X

Przypisy

Sprawdź też

Wikibooks-logo.svg
Sprawdź publikację na Wikibooks:
HTML
WiktionaryPl nodesc.svg
Sprawdź hasło HTML w Wikisłowniku

Linki zewnętrzne

www.elektronika24.org.pl | www.modem.impulsywny.ostrowwlkp.pl | Łóżeczka turystyczne | wyciągi, noclegi Kluszkowce , u Sasa | Restauracja Zacisze