Comprendre l’en-tête HTTP Accept

Idée aujourd’hui assez démocratisée, je cherchais à une époque le moyen de servir le même contenu en deux formats différents, et ceci à la demande du client. Colin Brigato m’a alors indiqué qu’il existe justement une en-tête HTTP pour signifier au serveur le format désiré pour la ressource demandée : Accept.

L’en-tête HTTP Accept n’est en fait qu’une liste de types MIME séparés par des virgules et dotées de deux systèmes de classement permettant de déterminer la précédence que doivent avoir les types les uns par rapport aux autres. Ceci de façon à ce qu’en cas d’absence d’un type demandé sur le serveur, celui-ci puisse déterminer un autre type acceptable par le client en suivant son ordre de préférence ou lui renvoyer une erreur HTTP 406 (requête inacceptable) le cas échéant.

Ces deux systèmes de classements sont :

Et puisque certains ronflent déjà à en baver, illustrons :

text/xml, text/plain; q=0.8, text/*; q=0.8, text/html, text/xml; level=1

En appliquant les deux classements précédemments cités on obtient donc le classement suivant :

Liens externes