HTML est le langage commun pour publier un hypertexte sur le World Wide Web [1]. À partir de 1982, Tim Berners-Lee a simplifié la définition d'origine de SGML à la publication de la spécification XHTML1.1 en 2001, HTML est devenu une norme internationale avec plusieurs versions [2]. Les spécifications de chaque version sont définies dans un langage lisible par machine qui décrit les structures, les éléments et les attributs juridiques, qui est la définition de type de document, appelé DTD.
Articles connexes: HTML Code Apprentissage: Abréviation de Doctype
DTD décrit la déclaration de type de document (Déclaration DTD, appelée doctype [3]) à l'avant du document HTML. Il s'agit du document de contact et de la directive DTD. Par exemple, le doctype de HTML4.01 Strict est:
<!doctype html public -//w3c//dtd html 4.01//en http://www.w3.org/tr/html4/strict.dtd>Il spécifie la version HTML du document, qui est les informations les plus nécessaires lorsqu'un outil tel qu'un navigateur analyse un document. Par exemple, l'outil de vérification W3C peut vérifier la syntaxe et signaler les erreurs en fonction.
La mise en œuvre des premières erreurs par erreur des navigateurs, le grand nombre d'extensions privées, la confusion des premières normes elles-mêmes, etc., ont conduit les documents à ce moment-là ni doctype ni références directes au DTD, et ont également rendu difficile que de nouvelles normes soient appliquées et popularisées car les navigateurs ne peuvent pas les distinguer. Afin de gérer les pages Web créées conformément aux normes Web et aux pages Web créées en fonction des pratiques obsolètes, Todd Fahrner a proposé la méthode de bascule en 1998, qui permet au navigateur de fournir deux ensembles de modes de rendu: c'est-à-dire qu'il y a un document doctype complet utilisé pour analyser la norme W3C, sinon il est analysé dans l'ancienne manière.
Cette méthode est pratique et simple et efficace. Deux ans plus tard, la première fois qu'il a été utilisé sur la version MAC de IE, et bientôt d'autres fabricants de navigateurs l'ont adopté, ce qui a donné naissance au reniflement doctype (reniflement doctype ou commutation doctype). Le navigateur l'utilise pour décider si son moteur doit adopter le mode standard, le mode quasi-standard ou le mode bizarrerie, qui aura un très grand impact sur l'analyse de HTML et CSS, la disposition des scripts CSS et JavaScript [5]. Il ne fait aucun doute que nous devrions adopter le modèle standard autant que possible.
Bien que HTML5 soit toujours dans le projet, les derniers navigateurs Firefox3.5, Chrome2, Safari4 et IE8 ont commencé à prendre en charge certaines fonctionnalités, en particulier la sortie de Google Wave a déclenché un nouveau point culminant dans la promotion de la pratique de HTML5. HTML5 n'est pas basé sur SGML et il n'a pas de DTD, mais pour la compatibilité directe, il accepte le fait que Doctype renifle, définissant que Doctype est la seule déclaration de conversion de mode dans Text / HTML, sauf qu'elle n'est pas utile. Son doctype est tellement concis: <! Doctype html> [6].
Il convient de mentionner que afin de résoudre le problème de la compatibilité directe, IE8 adopte la déclaration compatible X-UA [7], ce qui conduit au mode de rendu du navigateur dans IE8 qui non seulement dépend du reniflement doctype mais aussi de la déclaration compatible X-UA. Cela entraîne non seulement des jugements de modèles plus complexes [8], mais viole également l'idée d'amélioration progressive de la conception Web [9].
Sur la route des normes Web, nous avons non seulement besoin de la compatibilité avec le réalisme, mais aussi de la compatibilité en arrière avec l'idéalisme. C'est l'espoir de s'assurer que notre Web peut fonctionner normalement à l'avenir. Avec l'idée de standard, de simplicité et d'amélioration progressive, la meilleure solution pour notre page est peut-être: peut-être:
<!doctype html>…<meta http-equiv=x-ua-compatible content=ie=edge>…Notes: