Skip to main content

Meta Charset Tag - Définir le codage de caractères en HTML5

HTML5 / CSS3 - 04 - Balise META (Avril 2024)

HTML5 / CSS3 - 04 - Balise META (Avril 2024)
Anonim

Avant l'introduction de HTML5, définir le codage des caractères sur un document avec un élément requis pour écrire la ligne quelque peu prolixe vue ci-dessous. Voici les éléments du jeu de caractères méta si vous utilisiez HTML4 dans votre page Web:

Ce qui est important de noter dans ce code est les guillemets que vous voyez autour du contenu attribut: contenu = ' text / 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 text / html; jeu de caractères = iso-8959-1 est le contenu Il s'agit du code HTML approprié et de la manière dont cette chaîne devait être écrite. C'est aussi lourd et long! Ce n’est pas non plus une chose dont vous vous souviendrez probablement! Dans la plupart des cas, les développeurs Web devraient copier et coller ce code d'un site dans tout nouveau site en cours de développement, car l'écriture à partir de zéro demandait beaucoup.

HTML5 coupe les "trucs" supplémentaires

HTML5 a non seulement ajouté un certain nombre de nouveaux éléments à la langue, mais il a également considérablement simplifié la syntaxe de HTML, y compris l'élément Meta Charset.Avec HTML5, vous pouvez ajouter le codage de votre caractère avec la syntaxe beaucoup plus facile à mémoriserMETA é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 à quel point il est beaucoup plus facile d'écrire et de se souvenir de la version HTML5. Plutôt que de devoir copier et coller ceci à partir d'un site existant dans un nouveau site sur lequel vous travailliez, c'est absolument quelque chose dont vous pourriez vous souvenir en tant que développeur web front-end. Ces gains de temps ne sont souvent pas très importants, mais si vous considérez les autres zones de syntaxe simplifiées par HTML5, vous réalisez des économies!

Toujours inclure le codage de caractères

Vous devez toujours inclure le codage de caractères pour vos pages Web, même si vous n’avez jamais prévu d’utiliser des caractères spéciaux. Si vous n'incluez pas de codage de caractères, votre site devient vulnérable à une attaque de script intersite utilisant UTF-7.

Dans ce scénario, anattacker 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 en réalité UTF-7. Ensuite, l’attaquant injecte des scripts codés UTF-7 dans la page Web et votre site est piraté. Ceci est évidemment 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. Veillez simplement à ajouter un codage de caractères à toutes vos pages Web.

Où ajouter le codage de caractères

Le codage de caractères pour une page Web doit être la première ligne de votre code HTML Cela garantit que le navigateur sait ce qu'est le codage des caractères avant de faire quoi que ce soit sur la page, à part pour déterminer le type de document et identifier qu'il s'agit d'une page HTML. Votre code HTML devrait se lire comme suit:

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

Vous pouvez également spécifier le codage de caractères dans les en-têtes HTTP. Ceci est encore plus sûr que de l'ajouter à la page HTML, mais vous devez avoir accès aux configurations du serveur ou aux fichiers .htaccess, ce qui signifie que vous devrez peut-être contacter le fournisseur d'hébergement de votre site Web pour obtenir ce type d'accès les changements pour vous. L'accès est vraiment le défi ici. Le changement lui-même est simple, tout fournisseur d’hébergement doit donc 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 fichier. Le jeu de caractères par défaut d'Apache est ISO-8859-1.