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.