Voici un moyen de vérifier que vos en-têtes sont valides et compréhensibles par les navigateurs et moteurs de recherche.

Un en-tête (header) c'est quoi ?

Dans un paquet de données envoyé via internet, les données (charge utile) sont précédées de headers contenant des informations telles que les adresses IP de l'expéditeur et du destinataire, le protocole de communication utilisé, ainsi que d'autres informations dépendantes du protocole. Le format des headers est décrit dans l'Internet Protocol (IP). (source : wikipedia)

Ce sont grâce à ces en-têtes que l'on précise le code HTTP (redirection par exemple) mais également le codage des caractères informatiques, souvent appelé charset (utf8, iso-8859-1, etc.), la date d'expiration d'une page (qui permettra au navigateur de se créer un cache), la compression, la date de la dernière modification, la signature du serveur (que l'on peut masquer) et la version HTTP 1.1 généralement. D'autres attribuent existent mais tous ne sont pas normalisés.

Les en-têtes ont un rôle très important dans le procole internet (IP) puisqu'ils permettent de contrôleur l'intégrité des données transmises grâce à des calculs sur la longueur du contenu.

Pourquoi est-ce important ?

Les en-têtes sont important car ils précèdent le contenu, et il ne faut pas les négliger. C'est pour cette raison que je vous conseille, lorsque vous avez des doutes, de vérifier les en-têtes de votre site/blog avec l'outil Resource Expert Droid (RED). Il en existe bien d'autres, mais j'apprécie particulièrement celui-ci car ils donnent d'autres informations intéressantes.

Prenons par exemple un lien "compressé" (raccourci) par le populaire service bit.ly et observons ce qu'il en est :

[code]HTTP/1.1 301 Moved
Server: nginx/0.7.42
Date: Tue, 27 Apr 2010 21:09:00 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Set-Cookie: _bit=4bd7526c-003a8-04ea6-baa08fa8;domain=.bit.ly;expires=Sun
Oct 24 17:09:00 2010;path=/; HttpOnly
Location: http://blogmotion.fr/feedback/blog-professionnel-5173
MIME-Version: 1.0
Content-Length: 315[/code]

On observe qu'il s'agit d'une redirection 301 avec l'adresse de destination enregistrée dans le champ "location", à traduire par destination. On remarque également que bit.ly n'utilise pas de serveur Apache mais un serveur Nginx, bien plus efficace pour les sites à fort traffic.

Les en-têtes sont modifiables par de nombreux moyens : htaccess, configuration du serveur ou encore directement dans le code source avec PHP par exemple. Cette souplesse est la porte ouverte à de nombreuses erreurs... Dans mon cas, j'avais fait une erreur de syntaxe sur une des mes optimisation d'expiration (htaccess) et j'envoyais un en-tête non reconnu, ce qui le rendait totalement inefficace.

Ça prend 10 secondes pour détecter les erreurs, pas plus pour les corriger et cela se répercute sur toutes les pages.

Resource Expert Droid (RED)

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter