183

根据Internet 编号分配机构(IANA),所有 .ico 文件都属于 MIME 类型image/vnd.microsoft.icon。(来源

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

然而,精明的互联网大师Paul Irish声称这是错误的,而且实际上是image/x-icon。(来源

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

我知道你可以不包括 .ico 文件的“类型”,但如果你要包括一个,应该是哪个?将其用作官方 IANA 类型实际上是否存在任何问题?

4

3 回答 3

222

当您将 .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-type 没有 IANA 规范image/x-icon,所以看起来它确实比image/vnd.microsoft.icon.

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

于 2012-12-11T21:37:55.717 回答
48

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

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

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

于 2015-02-03T13:25:32.563 回答
7

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

于 2015-10-19T23:01:08.940 回答