Quali sono le differenze tra HTML5, HTML4.01 e XHTML 1.0?
sobes.tech AI
Risposta dell'AI
HTML5 amplia le capacità di HTML4.01 con tag semantici (<nav>, <article>, <aside>), nuovi tipi di input per i moduli (email, date, range), supporto multimediale nativo (<video>, <audio>), API per il lavoro offline (Service Worker, Cache Storage) e lo storage locale (localStorage, sessionStorage), oltre a un'API per i websocket. La sintassi di HTML5 è più flessibile, permette di omettere alcuni tag di chiusura e attributi in certi casi.
XHTML 1.0 è una riformulazione di HTML 4.01 come applicazione XML. La principale differenza è una sintassi più rigorosa: tutti i tag devono essere chiusi (inclusi quelli auto-chiudenti come <br />), tutti gli attributi devono essere tra virgolette, e i nomi di tag e attributi sono sensibili al maiuscolo/minuscolo. L'obiettivo era creare una sintassi più strutturata e valida per una migliore compatibilità con parser XML. Tuttavia, nella pratica, la maggior parte dei browser trattava XHTML come HTML, ignorando le regole rigorose se il documento non veniva inviato con il MIME type application/xhtml+xml.
Confronto in tabella:
| Caratteristica | HTML4.01 | XHTML 1.0 | HTML5 |
|---|---|---|---|
| Sintassi | Più flessibile | Rigorosa (basata su XML) | Più flessibile di XHTML, strutturata |
| Chiusura dei tag | Non sempre richiesta | Sempre richiesta (<br />, <img>) |
Non sempre richiesta (<p>, <li>, ecc.) |
| Maiuscole/minuscole | Insensibile | Sensibile | Insensibile |
| Virgole in attributi | Non sempre necessarie | Sempre necessarie | Non sempre necessarie in certi casi |
| Supporto media | Richiede plugin | Richiede plugin | Nativo (<video>, <audio>) |
| Tag semantici | Meno (<div>, <span>) |
Analogo a HTML4.01 | Più (<nav>, <article>, <aside>) |
| Nuove API | Limitate | Limitate | WebSocket, Local Storage, Canvas, SVG |
| Supporto offline | Quasi assente | Quasi assente | Cache API, Service Worker |
| Tipo MIME | text/html |
application/xhtml+xml (rigido), text/html (come HTML) |
text/html |
| Estendibilità | Limitata | Basata su XML | Tramite API e elementi personalizzati (futuro) |
Esempio di sintassi:
<!-- HTML 4.01 -->
<p>Paragrafo.
<img src="image.jpg" alt=Immagine>
<!-- XHTML 1.0 -->
<p>Paragrafo.</p>
<img src="image.jpg" alt="Immagine" />
<!-- HTML5 -->
<p>Paragrafo.
<img src="image.jpg" alt="Immagine">
HTML5 è diventato lo standard de facto per lo sviluppo web, combinando la flessibilità di HTML4.01 con nuove capacità e ereditando in parte le idee di rigore di XHTML, puntando sulla compatibilità.