Nouvelle du 16/08/2007
[Mes travaux]
[16-08-2007] Le Content-Type: partiellement fiable...
Le Content-Type est une information contenue dans les headers HTTP et donnant une information sur le type de fichiers pointé par l'URL (voir par exemple get_headers en PHP). Quand c'est 'pdf' ou 'x-bittorrent' (pour être précis: 'application/pdf' et 'application/x-bittorrent'), ça se révèle fiable. Par contre, quand il s'agit d'un format de syndication (RSS, une de ses variantes ou Atom), les choses ont tendance à se gâter...
Ainsi, pour les fichiers de syndication, le Content-Type peut donner 'rss+xml', 'atom+xml' (ce qui n'est pas uniforme mais a l'avantage d'être clair), 'xml' (ce qui l'est déjà un peu moins) ou, pire, 'html'. En cause: par défaut, le Content-Type envoyé indique 'html'. Donc, lorsque vous codez votre script RSS perso, utilisé sur votre blog ou votre site de petites annonces, à moins que vous ne prévoyiez l'envoi d'un header spécifiant correctement le Content-Type en tête de script, votre flux se présentera comme étant un traditionnel fichier HTML.
Ce point est gênant dans le cas de mon moteur de recherche, pour deux raisons: (1) le Content-Type détermine le plugin de lecture qui sera utilisé pour extraire le contenu du fichier et (2) le Content-Type doit pouvoir être utilisé comme consigne d'indexation (ex.: je veux indexer uniquement les fichiers de syndication).
Seule parade trouvée pour le moment: homogénéiser le Content-Type des flux en un Content-Type fictif 'rss' et prévoir un mode d'action optionnel (car plus lent) permettant, pour les Content-Type ambigus (comme 'xml' ou 'html') de détecter d'éventuelles balises discriminantes au début du code source du fichier.
[Commentaires (0)] [Lien permanent]
Faites connaître ce billet:
Publicité:













Robert VISEUR