【问题标题】:How does browser know the content type when such header is not specified?未指定此类标头时,浏览器如何知道内容类型?
【发布时间】:2010-12-01 10:48:30
【问题描述】:

如果服务器不发送 content-type 标头,浏览器如何判断他得到了哪种内容?例如,当我使用 chrome 获得 SO logo 时,图像是完整的,尽管服务器没有说明它的扩展名(至少,明确地)

【问题讨论】:

  • 对于它的价值,您链接的 SO 徽标在这里带有 Content-Type: image/png 标题。
  • 好吧,httpdebuggerpro 没有向我展示这个

标签: http content-type


【解决方案1】:

如果类型未在 HTTP 标头中明确声明,大多数浏览器都会进行内容嗅探。他们正在寻找他们知道的特定签名,从而猜测媒体类型。

有关示例,请参阅Determining the type of a new resource in a browsing context in the HTML 5 specification 部分或此Draft of Content-Type Processing Model

【讨论】:

    【解决方案2】:

    它可以通过检查文件来猜测内容类型。

    例如,PNG 在前 4 个字节中有“PNG”。

    【讨论】:

      【解决方案3】:

      不同的浏览器以不同的方式处理它。

      Internet Explorer 猜测 based on content。实际上经常忽略Content-Type 标头,而是使用自己的猜测。

      一些浏览器也会考虑扩展。

      【讨论】:

        猜你喜欢
        • 2010-11-06
        • 2012-12-03
        • 2014-04-30
        • 1970-01-01
        • 2012-02-29
        • 2011-01-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多