Sobes.tech
Junior

Quelles sont les différences entre HTML5, HTML4.01 et XHTML 1.0?

sobes.tech IA

Réponse de l'IA

HTML5 étend les capacités de HTML4.01 avec des balises sémantiques (<nav>, <article>, <aside>), de nouveaux types d'entrée pour les formulaires (email, date, range), la prise en charge multimédia sans plugins (<video>, <audio>), des API pour le travail hors ligne (Service Worker, Cache Storage) et le stockage local (localStorage, sessionStorage), ainsi qu'une API pour les websockets. La syntaxe HTML5 est plus flexible, permettant de omettre certains balises de fermeture et attributs dans certains cas.

XHTML 1.0 est une reformulation de HTML 4.01 en tant qu'application XML. La principale différence est une syntaxe plus stricte : toutes les balises doivent être fermées (y compris auto-fermantes comme <br />), tous les attributs doivent être entre guillemets, et les noms de balises et d'attributs sont sensibles à la casse. L'objectif était de créer une syntaxe plus structurée et valide pour une meilleure compatibilité avec les parsers XML. Cependant, en pratique, la plupart des navigateurs traitaient XHTML comme du HTML, ignorant les règles strictes si le document n'était pas envoyé avec le type MIME application/xhtml+xml.

Comparaison en tableau :

Caractéristique HTML4.01 XHTML 1.0 HTML5
Syntaxe Plus flexible Stricte (basée sur XML) Plus flexible que XHTML, structurée
Fermeture des balises Pas toujours requise Toujours requise (<br />, <img>) Pas toujours requise (<p>, <li>, etc.)
Casse Insensible Sensible Insensible
Guillemets dans attributs Pas toujours nécessaires Toujours nécessaires Pas toujours nécessaires dans certains cas
Support multimédia Nécessite des plugins Nécessite des plugins Natif (<video>, <audio>)
Balises sémantiques Moins (<div>, <span>) Semblable à HTML4.01 Plus (<nav>, <article>, <aside>)
Nouvelles API Limitées Limitées WebSocket, Stockage Local, Canvas, SVG
Support hors ligne Pratiquement absent Pratiquement absent Cache API, Service Worker
Type MIME text/html application/xhtml+xml (strict), text/html (comme HTML) text/html
Extensibilité Limitée Basée sur XML Via API et éléments personnalisés (futur)

Exemple de syntaxe :

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

HTML5 est devenu la norme de facto pour le développement web, combinant la flexibilité de HTML4.01 avec de nouvelles capacités et héritant partiellement des idées de rigueur de XHTML, en se concentrant sur la compatibilité.