36 votes

Ressource interprétée comme un document mais transférée avec le type MIME text/css

Ressource interprétée comme un document mais transférée avec le type MIME text/css

Voici l'erreur qui s'affiche dans l'inspecteur de Google Chrome.

Le fichier est : http://www.doanddare.org/css/style.css

Il est rendu par un processeur php.

Comment puis-je corriger cette erreur ?

Les en-têtes retournés sont :

En-têtes de demande

Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Cache-Control:max-age=0
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3

En-têtes de réponse

HTTP/1.1 200 OK
Date: Sun, 10 Oct 2010 07:35:04 GMT
Server: Apache
content-style-type: text/css
Expires: Thu, 10 Oct 2030 03:50:23 GMT
Cache-Control: max-age=631138519, public
Content-Encoding: gzip
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/css
Connection: Keep-Alive

Cela pourrait-il être dû au fait que les en-têtes de la demande sont envoyés sous forme de document et que les en-têtes de la réponse sont renvoyés sous forme de fichier css ?

Si oui, comment dois-je contrôler les en-têtes de la demande ?

Merci pour toute aide.

40voto

mauris Points 19666

Je n'obtiens cette erreur que lorsque je visualise la ressource spécifique sur Chrome. Cela se produit également lorsque j'essaie d'ouvrir un fichier Javascript (.js).

Ma conclusion est que lorsque vous ouvrez un fichier de composant (.css, .js) dans Chrome, il essaiera de l'interpréter comme un document (affichant la sortie sur l'écran), au lieu de l'interpréter comme son type MIME natif.

Disons un fichier Javascript. Si vous le saisissez dans Chrome, il devrait être interprété comme un document (affichant la sortie sur l'écran), au lieu que Chrome exécute le script (c'est ce que fait son type MIME natif).

Ce message concerne uniquement Google Chrome et est négligeable, car il n'apparaît que lorsque vous ouvrez un fichier de composant.

0voto

Panu Viljamaa Points 11

Je reçois la même erreur et je pense savoir pourquoi. Si vous regardez les en-têtes de votre requête, vous voyez qu'ils incluent :

Accepter:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png, / ;q=0.5

Ils n'incluent surtout pas "text/css". Ainsi, Chrome dit au serveur qu'il n'acceptera PAS une réponse de type "text/css" et lorsqu'il en reçoit une, il le signale sur sa console.

Lorsque j'inclus habituellement une feuille de style CSS dans une page html, le message d'erreur ne s'affiche pas car, dans ce cas, l'en-tête de la requête de Chrome indique :

Accept: text/css

Mais si j'essaie de mettre

iframe.src = someCssFile.css

Je reçois le message. Cela me donne donc l'indice que j'essaie de charger le CSS à un endroit où il n'est pas attendu. Il le charge, mais la console me donne le message.

Et en réalité, ce n'est pas une erreur, c'est un avertissement, c'est ainsi que Chrome l'appelle. Un avertissement. Mais je suis d'accord pour dire qu'il est bon de savoir ce qui en est la cause.

Je ne pense pas qu'il y ait un moyen de contrôler explicitement les en-têtes de requête que Chrome envoie au serveur. Les navigateurs se contentent d'interpréter le HTML et, à partir de là, de créer les en-têtes qu'ils envoient.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X