Sobes.tech
Junior

Na czym polegają różnice między HTML5 a HTML4.01 oraz XHTML 1.0?

sobes.tech AI

Odpowiedź od AI

HTML5 rozszerza możliwości HTML4.01 o semantyczne tagi (<nav>, <article>, <aside>), nowe typy wejść dla formularzy (email, date, range), obsługę multimediów bez wtyczek (<video>, <audio>), API do pracy offline (Service Worker, Cache Storage) i lokalnego przechowywania (localStorage, sessionStorage), a także API dla websocketów. Składnia HTML5 jest bardziej elastyczna, pozwala na pomijanie niektórych tagów zamykających i atrybutów w określonych przypadkach.

XHTML 1.0 jest przekształceniem HTML 4.01 w formę aplikacji XML. Główna różnica to bardziej rygorystyczna składnia: wszystkie tagi muszą być zamknięte (w tym samozamykające się jak <br />), wszystkie atrybuty muszą być w cudzysłowach, a nazwy tagów i atrybutów są wrażliwe na wielkość liter. Celem było stworzenie bardziej strukturalnej i poprawnej składni dla lepszej zgodności z parserami XML. Jednak w praktyce większość przeglądarek traktowała XHTML jak HTML, ignorując rygorystyczne zasady, jeśli dokument nie był wysyłany z MIME type application/xhtml+xml.

Porównanie w tabeli:

Cecha HTML4.01 XHTML 1.0 HTML5
Składnia Bardziej elastyczna Rygorystyczna (oparta na XML) Bardziej elastyczna niż XHTML, strukturalna
Zamknięcie tagów Nie zawsze wymagane Zawsze wymagane (<br />, <img>) Czasami nie wymagane (<p>, <li>, itp.)
Wielkość liter Nieczuła na wielkość liter Wrażliwa na wielkość liter Nieczuła na wielkość liter
Cudzysłowy w atrybutach Nie zawsze konieczne Zawsze konieczne Czasami nie konieczne w określonych przypadkach
Obsługa multimediów Wymaga wtyczek Wymaga wtyczek Natychmiastowa (<video>, <audio>)
Tag semantyczny Mniej (<div>, <span>) Podobnie do HTML4.01 Więcej (<nav>, <article>, <aside>)
Nowe API Ograniczone Ograniczone WebSocket, Local Storage, Canvas, SVG
Obsługa offline Prawie brak Prawie brak Cache API, Service Worker
Typ MIME text/html application/xhtml+xml (ścisłe), text/html (jak HTML) text/html
Rozszerzalność Ograniczona Opiera się na XML Przez API i elementy niestandardowe (w przyszłości)

Przykład składni:

<!-- HTML 4.01 -->
<p>Akapit.
<img src="image.jpg" alt=Obrazek>
<!-- XHTML 1.0 -->
<p>Akapit.</p>
<img src="image.jpg" alt="Obrazek" />
<!-- HTML5 -->
<p>Akapit.
<img src="image.jpg" alt="Obrazek">

HTML5 stał się de facto standardem dla rozwoju stron internetowych, łącząc elastyczność HTML4.01 z nowymi możliwościami i częściowo dziedzicząc idee rygorystyczne XHTML, skupiając się na kompatybilności.