资源被解释为文档但使用MIME类型text / css传输

问题描述 投票:36回答:2

资源被解释为文档但使用MIME类型text / css传输

这是Google Chrome Inspector中显示的错误。

该文件是:http://www.doanddare.org/css/style.css

它由php处理器呈现。

我该如何解决这个错误?

返回的标头是:

Request Headers

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

Response Headers

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

是否可以将请求标头作为文档发送,并将响应标头作为css文件返回?

如果是这样,我应该如何控制请求标头?

谢谢你的帮助。

php css http-headers
2个回答
40
投票

当我在Chrome上查看特定资源时,我只会收到错误消息。当我尝试打开Javascript文件(.js)时也会发生这种情况。

我的结论是,当您在Chrome中打开一个组件文件(.css,.js)时,它会尝试将其解释为文档(在屏幕上显示输出),而不是将其解释为其本机MIME类型。

说一个Javascript文件。如果您在Chrome中输入,则应将其解释为文档(在屏幕上显示输出),而不是Chrome执行脚本(这是其原生MIME类型的作用)。

该消息仅限Google Chrome,可忽略不计,因为它仅在您打开组件文件时显示。


0
投票

我得到了同样的错误,我想我知道为什么。如果查看您的请求标头,您会看到它们包括:

接受:应用/ XML,应用/ XHTML + xml的,text / html的; Q = 0.9,文本/无格式; Q = 0.8,图像/ PNG,/ Q = 0.5

它们尤其不包括“text / css”。所以Chrome告诉服务器它不会接受“text / css”类型的响应,当它变得如此时,它会报告在其控制台上发生的事情。

当我通常在html页面中包含CSS样式表时,错误消息不会显示,因为在这些情况下Chrome请求标题说:

Accept: text/css

但是,如果我尝试设置

iframe.src = someCssFile.css

我收到了消息。所以它给了我一些线索,我正在尝试将CS​​S加载到不期望的地方。它确实加载它,但控制台给我的消息。

确实这不是一个错误,它是一个警告,这就是Chrome所说的。一个警告。但我同意知道造成这种情况的原因很好。

我认为没有办法明确控制Chrome发送给服务器的请求标头。浏览器只是解释HTML,并根据它们提供他们发送的标头。

© www.soinside.com 2019 - 2024. All rights reserved.