Agents utilisateurs et Content-Type
lundi 24 avril 2006 par Sébastien (lien permanent)
Dans un récent article, Content-Type is dead, Ian Hickson fait le point sur l’en-tête HTTP Content-Type
[1] et sur la façon dont il est réellement exploité (ou pas) par les agent utilisateurs [2].
Pour ceux qui ne comprennent pas l’anglais, le constat est que Content-Type est mort
; les navigateurs ignorent dans une large mesure ce paramètre et ont tendance à recourir à des méthodes empiriques de détection en essayant d’analyser le contenu au lieu de respecter la déclaration de Content-Type
.
Ian a mis en ligne un ensemble de fichiers de test pour que chacun puisse se faire son opinion.
Voici donc, présentés dans le tableau ci-dessous, le résultat de mes tests effectués sous Windows XP Pro SP2 français, avec la première page de test. Les résultats de tests avec d’autres navigateurs et systèmes sont les bienvenus (en particulier Safari).
IE 6.0 | Firefox 1.5 | Opera 8.54 | |
---|---|---|---|
* déclaré dans l’en-tête HTTP |
|||
001.txt | Échec | Échec. Type détecté : Document texte (au lieu de application/x-hixie-test ) |
Réussite |
002.png | Échec. (affiché comme un fichier texte mais le type détecté est Image PNG) | Réussite | Réussite |
003.html | Réussite | Réussite | Réussite |
004.src | Réussite (Type de fichier inconnu) | Échec | Réussite |
005.html | Réussite | Réussite | Réussite |
006.html | Échec | Réussite | Réussite |
007.dmg.gz | Échec | Réussite | Réussite |
008.html | Échec | Échec | Échec |
008.png | Échec | Échec. Type détecté : « PNG file » (au lieu de application/x-hixie-test ) |
Échec |
009 | Réussite | Réussite | Réussite |
010.png | Échec | Échec. Type détecté : « PNG file » (au lieu de application/x-hixie-test ) |
Échec |
011.bat | Échec | Réussite | Réussite |
012.pl | Réussite | Réussite | Réussite |
013.html | Réussite | Réussite | Réussite |
014.html | Échec | Réussite | Réussite |
015.png | Réussite (Type de fichier inconnu) | Échec. Type détecté : « Document texte » (au lieu de application/x-hixie-test ) |
Réussite |
016.rss | Échec | Réussite | Réussite |
017.rss | Réussite (après un bref affichage du message d’échec) | Réussite (après un bref affichage du message d’échec) | Réussite (sans affichage du contenu HTML) |
018.rss | Échec | Réussite | Réussite |
Réactions sur le sujet
- Content-Type is dead, for a short period of time, for new media-types, film at 11
- Don't throw charset out with the bathwater
Notes :
-
HTTP 1.1 – 14.17 Content-Type
[retour]The Content-Type entity-header field indicates the media type of the entity-body sent to the recipient or, in the case of the HEAD method, the media type that would have been sent had the request been a GET.
-
HTTP 1.1 – 7.2.1 Type
[retour]Any HTTP/1.1 message containing an entity-body SHOULD include a Content-Type header field defining the media type of that body. If and only if the media type is not given by a Content-Type field, the recipient MAY attempt to guess the media type via inspection of its content and/or the name extension(s) of the URI used to identify the resource.
Commentaires on this article are closed.
1 comment
1. karl wrote:
À compléter par la lecture de Joe Gregorio en réponse au billet (idiot) de Ian Hickson.
Lire aussi cet article sur HTTP et REST
Et puis finir avec Authoritative Metadata
On a jamais vu autant de prophétie oubliée que depuis l’avènements des carnets Web.
∼ mardi 25 avril 2006 at 17h27