HTML (ang. Hyper Text Markup Language, pl. hipertekstowy język znaczników), to język składający się ze znaczników (ang. tags) stosowany do pisania stron WWW. HTML jest teoretycznie aplikacją SGML-a.

Historia:

Wraz z rozwojem sieci WWW, a zwłaszcza jej upowszechnianiem, pojawiła się potrzeba dołączania do tekstów tabel, grafiki i plików multimedialnych, w wyniku czego zaczęły powstawać kolejne wersje HTML-a. Wersje te były rozwijane przez firmy produkujące przeglądarki stron WWW, bez wzajemnych konsultacji, co doprowadziło do częściowej niekompatybilności wersji HTML-a zaimplementowanych w przeglądarkach różnych producentów.

Próbą odpowiedzi na tę sytuację było stworzenie W3C czyli World Wide Web Consortium, organizacji która zajmuje się ustanawianiem wspólnych standardów HTML-a, a także innych spraw związanych z pisaniem stron WWW. Jego pierwsza wersja została opracowana przez Tima Berners-Lee w 1989 roku, który w tym czasie był konsultantem do spraw oprogramowania pracującym dla CERN. Pierwotnie składał się on z kilkunastu znaczników umożliwiających wyświetlanie tekstu wraz z odsyłaczami do innych tekstów. Rewolucyjność pomysłu polegała na tym, że użytkownik przeskakujący do innego tekstu nie musiał w ogóle wiedzieć gdzie fizycznie znajduje się interesujący go tekst. Była to tzw. zerowa wersja HTML. Kolejne "oficjalne" wersje HTML-a są uzgadnianie przez szeroką dyskusję ekspertów i przedstawicieli zainteresowanych firm i następnie definiowane za pomocą SGML-a. Pierwszą taką oficjalną wersją HTML-a był HTML 2, którego niewątpliwym sukcesem było to, że wszystkie ważniejsze przeglądarki takie jak Internet Explorer i Netscape są w zasadzie z nim zgodne.

Drugą wersją HTML-a, którą udało się uzgodnić w trakcie tzw. wojny przeglądarek, czyli ostrej i nie zawsze uczciwej konkurencji między Microsoftem i Netscape, była wersja 3.2.

Ostatnią wersją HTML-a jest wersja 4.01, która próbuje wydzielić zarządzanie wyglądem strony do kaskadowych arkuszy stylów (CSS). HTML 4.01 okazał się jedynie częściowym sukcesem w dziedzinie standaryzacji, gdyż wsparcie dla CSS w większości przeglądarek było przez wiele lat niepełne i zawierało wiele mniejszych i większych niekompatybilności. Niekompatybilności te stają się jednak z czasem coraz mniejsze, i pisanie stron obsługiwanych poprawnie przez wiele przeglądarek jest łatwiejsze niż w czasach wojen edytorowych.

Do najpopularniejszych przeglądarek należą (za OneStat.com - dane ze stycznia 2007):Internet Explorer, Mozilla Firefox, Opera, Safari i Netscape. Jednak oprócz nich istnieje również wiele innych.

Struktura dokumentu:

Dokument HTML jest zwykłym dokumentem tekstowym o ustalonym kodowaniu znaków składającym się z elementów/tagów/znaczników.

Element zwykle składa się z trzech części:
znacznika początkowego (w formie <znacznik>)
zawartości elementu (tekst lub inne elementy)
znacznika końcowego (w formie </znacznik>)

Elementy mogą też mieć przypisane atrybuty precyzujące znaczenie danego elementu. Atrybuty wraz z ich wartościami wpisuje się wewnątrz znacznika początkowego (<znacznik atrybut="wartość" atrybut2="wartość2" ... atrybutN="wartośćN">). Niektóre elementy nie muszą, a niektóre wręcz nie mogą posiadać znacznika końcowego (np. element br służący do rozpoczęcia nowego wiersza tekstu).

Element główny każdego dokumentu HTML jest html. Element główny zawiera dwa kolejne elementy: head (nagłówek dokumentu) i body (zasadnicza treść dokumentu).
Element head zawiera tytuł strony oraz informacje dodatkowe niewidoczne w dokumencie, takie jak autor, data, słowa kluczowe, itp. Wewnątrz elementu body zawarte są wszystkie pozostałe elementy, mogące zawierać tekst, wstawiać grafikę, itp. Na początku dokumentu, poza elementem html powinna się jeszcze znaleźć informacja o zastosowanym typie dokumentu, wskazująca użytą wersję HTML.

Praktycznie schemat ten realizuje się tworząc szablon:

Kod:
        <!DOCTYPE html PUBLIC ... > - deklaracja typu dokumentu
        <html>
            <head> ... </head> - nagłówek
            <body> ... </body> - zawartość strony
        </html>
Elementy i atrybuty HTML-a z założenia służą logicznemu uporządkowaniu tekstu. HTML 4.01 w dwóch ze swoich odmian (Transitional - "przejściowa" i Frameset - z ramkami) zawiera elementy i atrybuty o których wspomniano powyżej. W3C zdecydowanie odradza korzystania z tych elementów i poleca stosowanie HTML w wersji Strict (ścisłej), niezawierającej elementów formatujących, lub w najlepszym przypadku poprawnego składniowo oraz logicznie XHTML.

Zazwyczaj mimo to wykorzystywane są także te znaczniki, pomimo groźby złego wyświetlenia oraz zmniejszenia czytelności tak skonstruowanej strony w wielu sytuacjach. Przykładem może być wypracowanie (tytuł, wprowadzenie, rozwinięcie z nagłówkami dla każdego rozdziału, zakończenie). Do wizualnego lub urządzeniowego formatowania dokumentów służy język CSS.


Przykład dokumentu HTML

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

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

<html lang="pl">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Tytuł strony w HTML-u</title>
</head>
 
<body>
    <h1>Nagłówek pierwszego poziomu</h1>
    <p>
    Akapit (z ang. paragraph)<br>
    i jeszcze trochę tekstu w następnym wierszu<br>
    <a href="http://pl.wikipedia.org">
    a to link do Wikipedii.</a>
    </p>
</body>

</html>
Strony HTML-a można tworzyć na wiele sposobów. Obecnie większość stron HTML jest tworzona dynamicznie przez skrypty w różnych językach programowania (PHP, Perl, Java, ASP i wiele innych). Można też napisać dokument ręcznie za pomocą dowolnego edytora tekstowego (takiego jak Emacs, vim, czy nawet zwykły Notatnik pod Windows) lub jednego z wielu specjalnie do tego przystosowanych edytorów HTML, takich jak Adobe Dreamweaver, Pajączek czy Quanta.


Kursy HTML online:

- kurshtml.boo.pl
- algorytmy.pl
- webmaster.helion.pl
- webhelp.pl
- skryptoteka.pl