Agents utilisateurs et Content-Type

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).

Tests du comportement de différents agents utilisateurs en fonction du paramètre HTTP Content-Type
  IE 6.0 Firefox 1.5 Opera 8.54
Échec
Le type MIME du fichier *, n’est pas reconnu ou pas respecté.
Réussite
Le navigateur reconnaît correctement le type MIME du fichier *.

* déclaré dans l’en-tête HTTP Content-Type

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

Notes :

  1. HTTP 1.1 – 14.17 Content-Type

    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.

    [retour]
  2. HTTP 1.1 – 7.2.1 Type

    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.

    [retour]

← article précédentarticle suivant →

1 commentaire

1. karl a écrit :

À 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 à 17h27

Les commentaires pour cet article sont fermés.