Quais são as diferenças entre HTML5, HTML4.01 e XHTML 1.0?
sobes.tech IA
Resposta da IA
O HTML5 amplia as capacidades do HTML4.01 com tags semânticos (<nav>, <article>, <aside>), novos tipos de entrada para formulários (email, date, range), suporte multimédia nativo (<video>, <audio>), APIs para trabalho offline (Service Worker, Cache Storage) e armazenamento local (localStorage, sessionStorage), bem como uma API para websockets. A sintaxe do HTML5 é mais flexível, permitindo omitir algumas tags de encerramento e atributos em certos casos.
O XHTML 1.0 é uma reformulação do HTML 4.01 como uma aplicação XML. A principal diferença é uma sintaxe mais rigorosa: todas as tags devem ser fechadas (incluindo auto-fechadas como <br />), todos os atributos devem estar entre aspas, e os nomes de tags e atributos são sensíveis a maiúsculas e minúsculas. O objetivo era criar uma sintaxe mais estruturada e válida para melhor compatibilidade com parsers XML. No entanto, na prática, a maioria dos navegadores tratava XHTML como HTML, ignorando as regras estritas se o documento não fosse enviado com o tipo MIME application/xhtml+xml.
Comparação em tabela:
| Característica | HTML4.01 | XHTML 1.0 | HTML5 |
|---|---|---|---|
| Sintaxe | Mais flexível | Rígida (baseada em XML) | Mais flexível que XHTML, estruturada |
| Fecho de tags | Nem sempre necessário | Sempre necessário (<br />, <img>) |
Nem sempre necessário (<p>, <li>, etc.) |
| Caso das letras | Insensível | Sensível | Insensível |
| Aspas nos atributos | Nem sempre necessárias | Sempre necessárias | Nem sempre necessárias em certos casos |
| Suporte multimédia | Requer plugins | Requer plugins | Nativo (<video>, <audio>) |
| Tags semânticas | Menos (<div>, <span>) |
Semelhante ao HTML4.01 | Mais (<nav>, <article>, <aside>) |
| Novas APIs | Limitadas | Limitadas | WebSocket, Local Storage, Canvas, SVG |
| Suporte offline | Praticamente ausente | Praticamente ausente | Cache API, Service Worker |
| Tipo MIME | text/html |
application/xhtml+xml (estrito), text/html (como HTML) |
text/html |
| Extensibilidade | Limitada | Baseada em XML | Através de API e elementos personalizados (futuro) |
Exemplo de sintaxe:
<!-- HTML 4.01 -->
<p>Parágrafo.
<img src="image.jpg" alt=Imagem>
<!-- XHTML 1.0 -->
<p>Parágrafo.</p>
<img src="image.jpg" alt="Imagem" />
<!-- HTML5 -->
<p>Parágrafo.
<img src="image.jpg" alt="Imagem">
O HTML5 tornou-se o padrão de facto para o desenvolvimento web, combinando a flexibilidade do HTML4.01 com novas capacidades e herdando parcialmente as ideias de rigor do XHTML, focando na compatibilidade.