根据 Internet 编号分配机构 (IANA),所有 .ico 文件都属于 MIME 类型image/vnd.microsoft.icon。(来源)
image/vnd.microsoft.icon
例如 <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico" />
<link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico" />
然而,精明的互联网大师 Paul Irish 声称这是错误的,而且实际上是image/x-icon。(来源)
image/x-icon
例如 <link rel="icon" type="image/x-icon" href="favicon.ico" />
<link rel="icon" type="image/x-icon" href="favicon.ico" />
我知道你可以不包括 .ico 文件的“类型”,但如果你要包括一个,应该是哪个?将其用作官方 IANA 类型实际上是否存在任何问题?
当您将 .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.
<img>
ico
png