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 to najnowsza wersja HTML z nowymi elementami (elementy semantyczne takie jak <article>, <section>), obsługą multimediów (<video>, <audio>), API do pracy z geolokalizacją, przechowywaniem w sieci i aplikacjami offline. Jest bardziej tolerancyjny na błędy składniowe i wstecznie kompatybilny.

HTML4.01 to poprzedni standard z mniej rygorystycznymi zasadami składni w porównaniu do XHTML. Nie obsługuje natywnie nowych funkcji HTML5.

XHTML 1.0 to HTML przepisany jako aplikacja XML. Wymaga ścisłego przestrzegania składni (np. zamknięcia wszystkich tagów, używania małych liter dla nazw elementów i atrybutów, obowiązkowego użycia cudzysłowów dla wartości atrybutów). Został opracowany dla większej rozszerzalności i kompatybilności z narzędziami do przetwarzania XML.

Główne różnice można podsumować tak:

  • Składnia: HTML5 jest najbardziej elastyczny, XHTML 1.0 najbardziej rygorystyczny (zgodny z XML), HTML4.01 pośredni.
  • Semantyka: HTML5 zawiera nowe semantyczne tagi dla lepszej struktury treści.
  • Funkcjonalność: HTML5 dodaje wiele API dla interaktywnych aplikacji internetowych.
  • Obsługa błędów: HTML5 ma bardziej precyzyjne zasady obsługi błędów, przeglądarki łatwiej się po nich podnoszą.
  • Typ dokumentu (DOCTYPE): W HTML5 jest znacznie prostszy: <!DOCTYPE html>. W HTML4.01 i XHTML 1.0 są dłuższe i wskazują używany DTD.

Przykład DOCTYPE:

<!DOCTYPE html>
<!-- HTML5 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- HTML 4.01 Transitional -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- XHTML 1.0 Strict -->

Tabela porównawcza:

Funkcjonalność HTML5 HTML4.01 XHTML 1.0
Składnia Bardziej elastyczna Umiarkowanie rygorystyczna Rygorystyczna (oparta na XML)
DOCTYPE <!DOCTYPE html> Długi (wskazuje DTD) Długi (wskazuje DTD)
Semantyka Nowe tagi semantyczne Mniej semantyczne Mniej semantyczne (w porównaniu z HTML5)
Multimedia Wbudowane wsparcie (<video>, <audio>) Wymaga wtyczek Wymaga wtyczek
API Wiele nowych API Ograniczone Ograniczone
Obsługa błędów Zdefiniowana i przewidywalna Mniej przewidywalna Wymaga ścisłego przestrzegania składni
Zgodność XML Nie wymaga Nie wymaga Zgodny