web-dev-qa-db-fra.com

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

C'est l'erreur qui apparaît dans Google Chrome Inspector.

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

Il est rendu par un processeur php.

Comment puis-je réparer cette erreur?

Les en-têtes renvoyé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

Serait-ce quelque chose à voir avec les en-têtes de demande envoyés en tant que document et les en-têtes de réponse renvoyés sous forme de fichier CSS?

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

Merci pour toute aide.

36
Emmanuel

Je ne reçois une 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 s'interpréter comme un document (affichant la sortie à l'écran) au lieu de l'interpréter comme son type MIME natif.

Dites un fichier Javascript. Si vous le saisissez dans Chrome, il doit être interprété comme un document (affichant la sortie à l'écran) au lieu d'exécuter le script par Chrome (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. 

40
mauris

Je reçois la même erreur et je pense savoir pourquoi. Si vous examinez les en-têtes de votre demande, vous constaterez qu’ils incluent:

Accepter: application/xml, application/xhtml + xml, text/html; q = 0,9, text/plain; q = 0,8, image/png,/; q = 0,5

En particulier, ils n'incluent PAS "text/css". Donc, Chrome dit au serveur qu'il n'acceptera PAS une réponse de type "text/css" et, quand il l'obtiendra de toute façon, il signalera ce qui se passe sur sa console.

Lorsque j'inclus normalement une feuille de style CSS dans une page HTML, le message d'erreur n'apparaît pas car, dans ces cas, l'en-tête de demande de Chrome indique:

Accept: text/css

Mais si j'essaye de mettre 

iframe.src = someCssFile.css

Je reçois le message. Cela me donne donc l’idée que j’essaie de charger du CSS dans un endroit où ce n’est pas prévu. Il le charge, mais la console me donne le message. 

Et vraiment ce n'est pas une erreur, c'est un avertissement, c'est comme ça que Chrome l'appelle. Un avertissement. Mais je conviens qu'il est bon de savoir ce qui le cause. 

Je ne pense pas qu'il soit possible de contrôler explicitement les en-têtes de requête que Chrome envoie au serveur. Les navigateurs n'interprètent que le HTML et s'appuient sur celui-ci avec les en-têtes qu'ils envoient.

0
Panu Logic