Comment utiliser les balises Meta Charset pour le codage de caractères en HTML5

click fraud protection

Avant l'introduction de HTML5, la définition de l'encodage de caractères sur un document avec un élément vous obligeait à écrire la ligne quelque peu verbeuse vue ci-dessous. Voici les éléments Meta Charset si vous utilisiez HTML4 dans votre page Web:


Ce qu'il est important de remarquer dans ce code, ce sont les guillemets que vous voyez autour du contenu attribut: contenu="texte/html; jeu de caractères=iso-8859-1". Comme tous les attributs HTML, ces guillemets définissent la valeur de l'attribut, indiquant que la chaîne entière texte/html; jeu de caractères=iso-8959-1 est le contenu de cet élément. C'est du HTML correct, et c'est ainsi que cette chaîne devait être écrite. C'est aussi long et moche! Ce n'est pas non plus quelque chose dont vous vous souviendrez probablement du haut de votre tête!

Dans la plupart des cas, les développeurs Web devaient copier et coller ce code d'un site vers un nouveau site qu'ils développaient, car l'écrire à partir de zéro demandait beaucoup.

HTML5 supprime les "trucs" supplémentaires

instagram viewer

HTML5 a non seulement ajouté de nouveaux éléments au langage, mais il a également considérablement simplifié une grande partie de la syntaxe du HTML, y compris l'élément Meta Charset. Avec HTML5, vous pouvez ajouter votre encodage de caractères avec la syntaxe beaucoup plus facile à retenir pour le META élément que vous voyez ci-dessous:


Comparez cette syntaxe simplifiée à ce que nous avons écrit au début de cet article, l'ancienne syntaxe utilisée pour HTML4, et vous verrez combien il est plus facile d'écrire et de mémoriser la version HTML5. Au lieu de devoir copier et coller cela d'un site existant dans un nouveau site sur lequel vous travailliez, c'est absolument quelque chose dont, en tant que développeur Web front-end, vous vous en souviendrez. Ce gain de temps n'est peut-être pas beaucoup, mais si l'on considère les autres domaines de syntaxe simplifiés par HTML5, les économies s'additionnent!

Toujours inclure l'encodage des caractères

Vous devez toujours inclure un codage de caractères pour vos pages Web, même si vous n'avez jamais l'intention d'en utiliser caractères spéciaux. Si vous n'incluez pas d'encodage de caractères, votre site devient vulnérable à une attaque de script inter-sites utilisant UTF-7.

Dans ce scénario, un attaquant voit que votre site n'a pas de codage de caractères défini, il incite donc le navigateur à penser que le codage de caractères de la page est UTF-7. Ensuite, l'attaquant injecte des scripts encodés en UTF-7 dans la page Web et votre site est piraté. Ceci est problématique pour toutes les personnes impliquées, de votre entreprise à vos visiteurs. La bonne nouvelle est qu'il s'agit d'un problème simple à éviter - assurez-vous d'ajouter un codage de caractères à toutes vos pages Web.

Où ajouter le codage de caractères

L'encodage de caractères d'une page Web doit être la première ligne de votre code HTML

élément. Cela garantit que le navigateur connaît le codage des caractères avant de faire autre chose sur la page que de déterminer le doctype et d'identifier qu'il s'agit d'une page HTML. Votre code HTML doit lire:




...

Utilisation des en-têtes HTTP pour plus de sécurité

Vous pouvez également spécifier l'encodage des caractères dans les en-têtes HTTP. C'est encore plus sécurisé que de l'ajouter à la page HTML, mais vous auriez besoin d'avoir accès aux configurations du serveur ou .htaccess fichiers, ce qui signifie que vous devrez peut-être travailler avec le fournisseur d'hébergement de votre site Web pour obtenir ce type d'accès ou lui demander d'effectuer les modifications pour toi. L'accès est le défi ici. Le changement lui-même est simple, donc tout fournisseur d'hébergement devrait pouvoir effectuer ce changement pour vous avec une relative facilité.

Si vous utilisez Apache, vous pouvez définir le jeu de caractères par défaut pour l'ensemble de votre site en ajoutant: AddDefaultCharset UTF-8 à ta racine .htaccess déposer. Le jeu de caractères par défaut d'Apache est ISO-8859-1.

instagram story viewer