是否有MIME类型告诉浏览器"不要尝试检测类型,只显示为文本"?

Joe*_*ite 5 http mime-types

在测试一些HTTP服务器代码时,我注意到一些奇怪的事情:如果我返回Content-Type: text/plain,浏览器将不会将内容呈现为纯文本.相反,他们似乎认为服务器必须配置错误,并且他们试图检测内容类型.

例如,如果我返回PNG文件的内容,但是Content-Type: text/plain:

  • FireFox和IE9都会查看URL上的扩展名.如果它结束.png,则将其显示为图像.如果不是(例如,如果我从结束的URL返回相同的内容.xyz),则会提示我保存文件.
  • Chrome和Opera都会查看文件的内容,检测它是否为PNG,并将其显示为图像.

当然,text/plain在生产中返回PNG是没有意义的; 但如果我正在测试我的服务器是否正确返回Content-Type,那么浏览器的第二次猜测行为就会受到影响.此外,它只是有点傻,这让我很好奇是否有办法解决它.

有没有办法 - 使用不同的Content-Type,或额外的HTTP标头,或其他什么 - 我可以告诉浏览器,"将其显示为文本,不是真的,我实际上知道我在做什么"?

Jul*_*hke 3

有关上下文,请参阅https://datatracker.ietf.org/doc/html/draft-ietf-websec-mime-sniff-03#section-4

在某些UA中,添加为自定义参数,例如

文本/纯文本;imeanit=是

可能有帮助。

部分IE版本支持

X-内容类型选项:nosniff

请参阅http://msdn.microsoft.com/en-us/library/gg622941%28v=vs.85%29.aspx