Sobes.tech
Junior

Care sunt diferențele dintre HTML5, HTML4.01 și XHTML 1.0?

sobes.tech AI

Răspuns de la AI

HTML5 extindează capacitățile HTML4.01 cu etichete semantice (<nav>, <article>, <aside>), noi tipuri de input pentru formulare (email, date, range), suport multimedia nativ (<video>, <audio>), API-uri pentru lucru offline (Service Worker, Cache Storage) și stocare locală (localStorage, sessionStorage), precum și API pentru websocket-uri. Sintaxa HTML5 este mai flexibilă, permite omiterea unor etichete de închidere și atribute în anumite cazuri.

XHTML 1.0 este o reformulare a HTML 4.01 ca aplicație XML. Diferența principală este o sintaxă mai strictă: toate etichetele trebuie închise (inclusiv autoînchise precum <br />), toate atributele trebuie să fie între ghilimele, iar numele etichetelor și atributelor sunt sensibile la majuscule/minuscule. Scopul a fost crearea unei sintaxe mai structurate și valide pentru o compatibilitate mai bună cu parserele XML. În practică, majoritatea browserelor tratau XHTML ca HTML, ignorând regulile stricte dacă documentul nu era trimis cu tipul MIME application/xhtml+xml.

Comparativ în tabel:

Caracteristică HTML4.01 XHTML 1.0 HTML5
Sintaxă Mai flexibil Strictă (bazată pe XML) Mai flexibil decât XHTML, structurată
Închidere etichete Nu întotdeauna necesar Întotdeauna necesar (<br />, <img>) Uneori nu necesar (<p>, <li>, etc.)
Cazul literelor Insensibil Sensibil Insensibil
Ghilimele în atribute Nu întotdeauna necesare Întotdeauna necesare Uneori nu necesare în anumite cazuri
Suport multimedia Necesită plugin-uri Necesită plugin-uri Nativ (<video>, <audio>)
Etichete semantice Mai puține (<div>, <span>) Similar cu HTML4.01 Mai multe (<nav>, <article>, <aside>)
Noi API-uri Limitate Limitate WebSocket, Local Storage, Canvas, SVG
Suport offline Aproape inexistent Aproape inexistent Cache API, Service Worker
Tip MIME text/html application/xhtml+xml (strict), text/html (ca HTML) text/html
Extensibilitate Limitată Bazată pe XML Prin API și elemente personalizate (viitorul)

Exemplu de sintaxă:

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

HTML5 a devenit standardul de facto pentru dezvoltarea web, combinând flexibilitatea HTML4.01 cu noi capabilități și moștenind parțial ideile de strictețe ale XHTML, concentrându-se pe compatibilitate.