HTTP Response Header MIME 类型与文件类型关系

浪费了一晚上时间。。。

转自http://hi.baidu.com/taylorsaltfish/blog/item/64e292f718499a31720eec94.html

HTTP Response Header MIME 类型应该与文件类型相匹配,如果不匹配则在解析css或者js文件是会出现错误。

Resource interpreted as script but transferred with MIME type text/html.

Resource interpreted as stylesheet but transferred with MIME type text/html.

Resource interpreted as script but transferred with MIME type text/html.

当浏览器请求js或者css文件时收到的在HTTP Response Header中Content-Type 被指定为text/html;类型时,浏览器可能不能解析css文件。

若在HTML文件中指定了,则浏览器使用标准规范模式渲染css而不是混合模式,若此时,HTTP Response Header中指定的MIME 类型 与文件类型不匹配,那么css文件不能被解析,所以页面样式会出错。不同的浏览器有不同,FireFox,Chrome,会遇到上述问题,若是IE,当使用标准规范模式解析遇到问题时,会自动使用混合模式进行解析,所以会出现相同的页面,IE能正确显示,而FireFox和其他标准浏览器不能正确显示的问题。

若HTML文件不含有或指定HTML的文档类型,则浏览器自动使用混合模式进行页面解析,但是IE和其他的浏览器的一些样式的效果可能不同,例如盒模型的解释,position:fixed的解释等等。

HTML页面在加入了或者其他指定HTML页面文档类型的说明时,才能保证,在IE和其他浏览器HTML页面的样式展现上保持一致,所以,应该加入保证html页面的样式的兼容,减少不同浏览器造成的差异。


你可能感兴趣的:(HTTP Response Header MIME 类型与文件类型关系)