【问题标题】:Correct MIME Type for favicon.ico?favicon.ico 的正确 MIME 类型?
【发布时间】:2012-11-29 10:09:25
【问题描述】:

根据互联网号码分配机构 (IANA),所有 .ico 文件都属于 MIME 类型 image/vnd.microsoft.icon。 (Source)

例如 <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico" />

但是,精明的互联网大师 Paul Irish 声称这是错误的,它实际上是 image/x-icon。 (Source)

例如 <link rel="icon" type="image/x-icon" href="favicon.ico" />

我知道您可以不包括 .ico 文件的“类型”,但如果您要包括一个,应该是哪个?将其用作官方 IANA 类型实际上有什么问题吗?

【问题讨论】:

  • 注意:favicon.ico 文件可能不是真正的“.ico”文件。我的公司网站使用 png(名为“favicon.ico”)并以“image/png”类型提供服务。使用此处提到的“.ico”类型中的任何一种都错误,因为它会导致浏览器误解!

标签: html browser mime-types favicon


【解决方案1】:

当您将 .ico 文件用作网站图标时,这并不重要。所有主流浏览器都能正确识别这两种 mime 类型。所以你可以说:

<!-- IE -->
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<!-- other browsers -->
<link rel="icon" type="image/x-icon" href="favicon.ico" />

或与image/vnd.microsoft.icon 相同,它适用于所有浏览器。

注意:没有针对 MIME 类型 image/x-icon 的 IANA 规范,因此看起来它确实比 image/vnd.microsoft.icon 更非官方。

唯一不同的情况是,如果您尝试在 &lt;img&gt; 标记中使用 .ico 文件(这很不寻常)。 根据之前的测试,某些浏览器只会在使用 MIME 类型 image/x-icon 提供 .ico 文件时将其显示为图像。最近的测试表明:Chromium、Firefox 和 Edge 对这两种内容类型都很好,而 IE11 则不然。如果可以,请避免使用ico 文件作为图像,使用png

【讨论】:

  • 我没有在任何地方选择任何东西,我试图解释两个用例:1 - 用作 favicon(无论哪种 mime 类型),2 - 用作网页中的 img(仅限 IE使用 mimetype image/x-icon 正确显示)。
  • 您说,您可以使用&lt;img src=''&gt; 中的 .ico 文件,前提是它们由网络服务器作为 image/x-image 提供。然后你说如果你打算在 HTML 页面中使用 .ico 文件作为图像,你应该将 MIME 类型设置为 image/x-icon
  • 太棒了。至少现在有意义!不过,我对在网站中将 .ico 文件作为图像提供服务并不感兴趣。这个问题专门关于使用 .ico 文件作为网站图标。如果你改写你的答案,那会更有帮助。谢谢。
  • 根据维基百科,image/x-icon 是微软自己编的,image/vnd.microsoft.icon 是在 IANA 注册的(不是微软自己注册的)。
  • FWIW,Google 使用 image/x-icon 作为他们的favicon
【解决方案2】:

我注意到在使用type="image/vnd.microsoft.icon" 时,当浏览器未连接到互联网时,图标无法显示。 但是type="image/x-icon" 无论浏览器是否可以连接到互联网都有效。 开发时,有时我没有连接到互联网。

【讨论】:

    【解决方案3】:

    我认为this 维基百科文章很好地解释了这种混淆的根源。

    虽然 ICO 文件的 IANA 注册 MIME 类型是 image/vnd.microsoft.icon,它于 2003 年由第三方提交给 IANA 方并且不被 Microsoft 软件识别,该软件使用 image/x-icon 代替。

    如果连 ICO 格式的发明者都不使用官方的 MIME 类型,我也会使用image/x-icon

    【讨论】:

    • 终于有答案了!然而,它仍然是 IANA 注册的 MIME 类型……即使微软自己不使用它。很奇怪。
    猜你喜欢
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 2015-03-29
    • 2011-02-21
    • 2017-10-26
    相关资源
    最近更新 更多