Vérifier les en-têtes HTTP

Vérificateur i18n [anglais]

Rex Swain's HTTP Viewer

HTTP Header Checker by KeyCDN

Cet article décrit plusieurs manières de vérifier les informations concernant l'encodage des caractères et envoyées dans les en-têtes HTTP d'un document web.

Il est important d'indiquer clairement l'encodage des caractères (charset) d'un document servi sur le web sans quoi, un récepteur ne peut pas interpréter correctement le document. Un navigateur web pourrait par exemple afficher des caractères aléatoires à la place d'un texte lisible. Une façon d'indiquer l'encodage d'un document web est de mettre cette information dans le paramètre charset de l'en-tête Content-Type.

Il est particulièrement important de noter que l'encodage déclaré dans l'en-tête HTTP l'emporte sur toutes les déclarations d'encodage intradocument dans les fichiers HTML et CSS.

Le vérificateur i18n [anglais]

L'outil de vérification pour l'internationalisation, développé par le W3C, vérifie un certain nombre de points relatifs à l'internationalisation sur les pages web. Il offre également une section informative qui résume les informations relatives à l'internationalisation sur une page telles que l'encodage des caractères, les déclarations de langue, etc. Cette section vous informe de la présence d'une déclaration d'encodage dans les en-têtes HTTP et de l'encodage lui-même le cas échéant.

L'outil de vérification i18n est particulièrement utile, car il vous montre les autres déclarations d'encodage présentes dans le document et vous alerte s'il existe des différences.

Utiliser un service web

Il existe différents services qui vous montrent tous les en-têtes HTTP ainsi que la source HTML/XHTML retournés par le serveur d'un document qui vous intéresse après que vous avez entré l'adresse de celui-ci :

Note : le W3C n'est affilié à aucun de ces services.

Parmi les en-têtes HTTP, recherchez l'en-tête Content-Type, et en particulier le paramètre charset, par exemple :

Content-Type: text/html; charset=utf-8

Note : le paramètre charset peut ne pas être présent. Cela ne pose aucun problème si votre document lui-même indique son encodage de caractères.

Use the developer tools in a browser

Modern desktop browsers usually contain a set of web developer tools, and they can be used to view HTTP headers of a web document and its related resources. Here's how to do it in major browsers.

Chrome, Edge, Firefox, and Opera

  1. Open DevTools by pressing Control+Shift+I or Command+Option+I (Mac).
  2. Click the Network tab. Right now the Network panel is empty.
  3. Reload the page to log some network activity. Each row represents a resource. The top resource is usually the main HTML document.
  4. Click a resource and open the Headers tab to view the HTTP headers.
  5. In the HTTP headers, look for the Content-Type header, and in particular for the charset parameter.

Safari

  1. First ensure that the Develop menu is enabled: choose Safari > Settings, click Advanced, then select “Show Develop menu in menu bar”.
  2. Show page resoueces by clicking Develop > Show Page Resources.
  3. Press Command+Option+0 to show the details sidebar.
  4. Reload the page to log some network activity.
  5. Click a resource from the left sidebar and the HTTP headers will appear in the right sidebar.
  6. In the HTTP headers, look for the Content-Type header, and in particular for the charset parameter.

Utiliser telnet ou un autre outil en ligne de commande

Ceci nécessite un peu plus de connaissances techniques, mais peut être plus facile à automatiser. wget (avec l'option -s ou -S) est un autre outil en ligne de commande.

Par ailleurs...

Certains serveurs transcodent le document web qu'ils servent en différents encodages pour différents clients. C'est le cas par exemple pour certains serveurs en Russie. Ceci requiert une attention spéciale, car votre navigateur, s'exécutant par exemple sur un système Mac ou Windows, peut indiquer qu'il utilise un encodage différent de celui qui vous est donné par un service web ou par le service de validation du W3C (qui sont la plupart du temps basé sur des systèmes UNIX).