Formaty plików
Co to jest HTML? Historia, parsowanie i DOM
HTML to język znaczników opisujący strukturę stron internetowych, na którym opiera się niemal każda witryna. Omawiamy jego historię, sposób, w jaki przeglądarki go przetwarzają, i to, na co uważać przy zamianie HTML na dokumenty.
Autor: Hemen Dönüştür Editör EkibiOpublikowano: 7 min czytania

Niemal wszystko, co widzisz w sieci, łącznie z tą stroną, jest napisane w HTML. HTML (HyperText Markup Language) to nie język programowania, lecz język znaczników opisujący strukturę dokumentu: to jest nagłówek, to akapit, to link, a to tabela. HTML nie służy też wyłącznie do budowy stron. Spotkasz go w szablonach e-maili, dokumentacji pomocy, eksportowanych raportach i dokumentach „zapisanych jako strona sieci Web”. W tym artykule omawiamy historię HTML, sposób, w jaki przeglądarka go odczytuje i rysuje na ekranie, typowe problemy oraz to, o czym pamiętać, konwertując pliki HTML do Worda lub PDF.
Czym jest HTML?
HTML to język oparty na zwykłym tekście, który oznacza treść za pomocą znaczników (tagów). Znaczniki zapisuje się w nawiasach ostrokątnych, a większość z nich tworzy element ze znacznikiem otwierającym i zamykającym:
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Przykładowa strona</title>
</head>
<body>
<h1>Cześć</h1>
<p>Ten akapit zawiera <a href="https://example.com">link</a>.</p>
</body>
</html>
Sekcja <head> zawiera informacje o stronie (kodowanie znaków, tytuł, arkusze stylów), a <body> widoczną treść. Wygląd dodaje się za pomocą CSS, a zachowanie za pomocą JavaScriptu. W tym podziale HTML opisuje, czym jest treść, CSS, jak wygląda, a JavaScript, co robi.
Krótka historia
HTML narodził się jako część projektu World Wide Web, który Tim Berners-Lee zaproponował w CERN w 1989 roku. Jego pierwsza przeglądarka działała na komputerze NeXT w 1990 roku. Najwcześniejsze wersje języka były nie tyle formalną normą, ile listą znaczników udokumentowaną w CERN. Najważniejsze etapy od tamtej pory:
- Listopad 1995, HTML 2.0: RFC 1866, napisany przez Tima Bernersa-Lee i Dana Connolly'ego, po raz pierwszy zdefiniował HTML jako formalną normę.
- Styczeń 1997, HTML 3.2: wersja, którą W3C oficjalnie zatwierdziło jako specyfikację dla całej branży.
- 24 grudnia 1999, HTML 4.01: przez lata pozostawał podstawową specyfikacją sieci; W3C formalnie oznaczyło go jako zastąpiony 27 marca 2018 roku.
- 28 października 2014, HTML5: W3C opublikowało HTML5 jako Rekomendację. Wraz z nim znormalizowano wideo, dźwięk, semantyczne elementy sekcji i precyzyjnie zdefiniowany algorytm parsowania.
- 28 maja 2019, jedna norma: W3C i WHATWG, społeczność utworzona przez producentów przeglądarek, podpisały porozumienie. Zgodnie z nim HTML i DOM są rozwijane przede wszystkim w WHATWG jako niewersjonowany „Living Standard”.
Dlatego „HTML5” oznacza dziś w praktyce „aktualny HTML”; oficjalną specyfikacją jest stale aktualizowany HTML Living Standard.
Jak bardzo jest rozpowszechniony? Według statystyk W3Techs z 15 października 2026 roku 97,8% stron internetowych o znanym języku znaczników używa HTML. To samo źródło podaje, że 99,1% stron o znanym kodowaniu znaków używa UTF-8.
Jak przeglądarka przetwarza HTML?
HTML od innych formatów dokumentów odróżnia to, że nawet źle napisane dokumenty są interpretowane tak samo w każdej przeglądarce. HTML Living Standard definiuje w tym celu szczegółowy model parsowania:
- Ustalenie kodowania: przeglądarka musi najpierw zamienić przychodzące bajty na znaki. Sprawdza kolejno BOM, kodowanie zadeklarowane w nagłówku HTTP serwera i deklarację
<meta charset>w pierwszych 1024 bajtach dokumentu; jeśli niczego nie znajdzie, zgaduje na podstawie przesłanek. - Tokenizacja: automat stanów dzieli tekst na tokeny, takie jak znaczniki otwierające, znaczniki zamykające, komentarze, deklaracje DOCTYPE i znaki.
- Budowa drzewa: tokeny są przetwarzane według trybów wstawiania, takich jak „in body” czy „in table”. Parser utrzymuje stos otwartych elementów i naprawia źle zagnieżdżone znaczniki według określonych reguł.
- DOM: wynikiem jest drzewo obiektów zwane Document Object Model (DOM). Do tego drzewa stosuje się CSS, a JavaScript je odczytuje i modyfikuje.
Specyfikacja wyraźnie stwierdza, że obsługa błędów parsowania jest ściśle określona. Jeśli napiszesz na przykład <div/>, HTML zignoruje końcowy ukośnik, więc kolejne elementy trafią do środka tego diva. Niezamknięty <p> zamyka się automatycznie, gdy pojawi się następny element blokowy. Ta tolerancja sprawia, że sieć działa mimo niezliczonych niedoskonałych stron, ale oznacza też, że każde narzędzie zamieniające HTML na format dokumentu musi przestrzegać tych samych reguł.
Gdzie używa się HTML?
- Strony i aplikacje internetowe: szkielet każdej strony.
- E-mail: sformatowane wiadomości i newslettery pisze się w HTML.
- Dokumentacja: strony pomocy, dokumentacja oprogramowania i witryny generowane z Markdown.
- E-booki: format EPUB pakuje treść jako dokumenty XHTML.
- Raporty i eksporty: wiele aplikacji tworzy raporty jako HTML, a wynik polecenia „Zapisz jako stronę sieci Web” w Wordzie to także HTML.
Zalety i wady
| Zalety | Wady |
|---|---|
| Otwiera się w przeglądarce na każdym urządzeniu | Wygląd zależy od zewnętrznych CSS, czcionek i obrazów |
| Otwarta, bezpłatna i stale aktualizowana norma | Słabo radzi sobie z pojęciami druku, takimi jak strony i marginesy |
| Płynny układ dopasowujący się do rozmiaru ekranu | Trudno przenieść jako jeden plik (obrazy są w osobnych plikach) |
| Semantyczna struktura dla dostępności i wyszukiwarek | Wymaga ostrożności, gdy zawiera JavaScript |
| Zwykły tekst, więc dobrze współpracuje z kontrolą wersji | Gorzej niż PDF nadaje się do utrwalenia wersji ostatecznej |
Jakie programy otwierają HTML?
Każda przeglądarka, w tym Chrome, Firefox, Safari i Edge, wyświetla HTML. Do edycji kodu źródłowego wystarczy edytor kodu, taki jak Visual Studio Code, albo dowolny edytor tekstu. Microsoft Word i LibreOffice Writer potrafią otwierać pliki HTML i edytować je jak dokumenty, choć złożone układy CSS są w nich upraszczane.
Typowe problemy i jak je rozwiązać
Znaki specjalne wyświetlają się jako „krzaki”
Brakuje kodowania strony albo jest ono błędne. Dodaj <meta charset="utf-8"> na początku sekcji <head> i upewnij się, że plik jest rzeczywiście zapisany w UTF-8. Jeśli serwer deklaruje inne kodowanie, popraw też nagłówek HTTP.
Zapisana strona nie ma obrazów ani stylów
Pliki HTML często pobierają obrazy i CSS z osobnych plików lub z adresów w internecie. Jeśli przeniesiesz sam plik .html, te odwołania przestaną działać. Użyj opcji zapisu „Strona internetowa, kompletna” w przeglądarce albo osadź obrazy w dokumencie.
Strona rozjeżdża się po wydrukowaniu
Układy projektowane na ekran mogą nie mieścić się na papierze. Zdefiniowanie reguł @media print oraz ustawienie rozmiaru papieru i marginesów za pomocą @page w CSS znacznie poprawia wydruk.
Wskazówki dotyczące konwersji plików HTML
W naszym konwerterze pliki HTML są wysyłane na nasz serwer i usuwane w ciągu 30 minut. Przy odczycie pliku kodowanie jest ustalane na podstawie BOM, potem deklaracji <meta charset>, a na końcu samej treści; starsze strony, które nie są w UTF-8, są odczytywane jako Windows-1254 (turecka strona kodowa Windows), dlatego najlepiej konwertować pliki zapisane w UTF-8. Zachowywana jest treść z <body> i blok <style> strony, a fragmenty HTML bez znacznika <body> są przetwarzane w obecnej postaci.
- HTML do PDF działa w silniku przeglądarki: stosowany jest CSS do druku, respektowany jest rozmiar strony zdefiniowany przez
@page(w innym wypadku A4), a kolory tła są drukowane. Ze względów bezpieczeństwa JavaScript nie jest wykonywany, a obrazy, czcionki i arkusze stylów z internetu nie są pobierane; używane są tylko zasoby osadzone w dokumencie (data: URI). Jeśli chcesz mieć obrazy w wyniku, osadź je w HTML. - HTML do Worda wykorzystuje LibreOffice, aby przenieść do DOCX nagłówki, listy, tabele, wyrównanie i osadzone obrazy. Złożone układy CSS (flex, grid) nie mają odpowiednika w Wordzie i są upraszczane.
- HTML do Markdown idealnie nadaje się do przeniesienia strony lub artykułu pomocy do repozytorium dokumentacji: nagłówki, wyróżnienia, listy, tabele, linki i bloki kodu są zachowywane, a informacje o stylu znikają.
- W drugą stronę Word do HTML osadza obrazy w pliku i tworzy jeden samodzielny dokument HTML z zadeklarowanym kodowaniem znaków, więc znaki diakrytyczne wyświetlają się w przeglądarce poprawnie.
Najczęściej zadawane pytania
Czy HTML jest językiem programowania?
Nie. HTML to język znaczników: opisuje strukturę treści, ale nie ma pętli, warunków ani obliczeń. Do nadania stronie zachowania służy JavaScript.
Czym różni się HTML5 od HTML?
HTML5 to nazwa głównej wersji, która w 2014 roku została Rekomendacją W3C. Od 2019 roku HTML jest rozwijany w WHATWG bez numerów wersji jako „HTML Living Standard”. W praktyce HTML5 i HTML oznaczają dziś to samo.
Jak otworzyć plik HTML?
Kliknij go dwukrotnie, a otworzy się w domyślnej przeglądarce. Aby zobaczyć kod źródłowy, otwórz plik w edytorze tekstu albo użyj w przeglądarce opcji „Wyświetl źródło strony”.
Dlaczego przy konwersji HTML do PDF brakuje obrazów?
Jeśli obrazy są wczytywane z adresu w internecie, nasz konwerter ze względów bezpieczeństwa ich nie pobiera. Osadź obrazy w HTML jako data: URI albo najpierw przekonwertuj dokument do Worda i dodaj tam obrazy.
Czy otwieranie pliku HTML jest bezpieczne?
HTML może zawierać JavaScript, więc zachowaj ostrożność wobec plików z nieznanych źródeł. Strony HTML przychodzące jako załączniki e-mail i proszące o hasło to popularna technika phishingu.
Źródła
- WHATWG: HTML Living Standard, Parsing HTML documents
- Porozumienie W3C i WHATWG (28 maja 2019)
- Komunikat prasowy W3C: Rekomendacja HTML5 (28 października 2014)
- W3C: HTML 4.01 Specification
- IETF RFC 1866: Hypertext Markup Language - 2.0
- Dave Raggett: A history of HTML
- W3Techs: Usage statistics of markup languages for websites


