image/x-icon 与 image/vnd.microsoft.icon 的关系

AUTHOR | nicechi
类别 | HTML
发表 | 2021-10-01 11:30:29
更新 | 2021-10-01 11:31:33

在使用 <link rel="icon" href=“/favicon.ico” /> 来为网站添加 favicon.ico 的时候,有的人可能会使用 type="image/x-icon" 来指定 favicon.ico 的 Media Type,有的人可能会使用 type="image/vnd.microsoft.icon" 来指定 favicon.ico 的 Media Type,即:

<!-- image/x-icon --> 
<link rel="icon" href=“/favicon.ico” type="image/x-icon"/>

<!-- image/vnd.microsoft.icon --> 
<link rel="icon" href=“/favicon.ico” type="image/vnd.microsoft.icon"/>

首先需要明确的是,image/x-icon 与 image/vnd.microsoft.icon 都是用来表示 icon 文件类型的 MIME,它们的区别是,一个是”官方“的 MIME ,另一个是”非官方“的 MIME:

  • image/vnd.microsoft.icon 是被 IANA(一个用来管理 MIME 标准的机构)官方注册的 MIME
  • image/x-icon 没有被 IANA 注册

这里可以参考 IANA的 Media Types 标准,在这份标准中只有 image/vnd.microsoft.icon 而没有 image/x-icon。

Wikipedia 中有这么一句话:

While the IANA-registered MIME type for ICO files is image/vnd.microsoft.icon, it was submitted to IANA in 2003 by a third party and is not recognised by Microsoft software, which uses image/x-icon instead.

从上面的这句话可以看出,虽然 image/vnd.microsoft.icon 有 Microsoft 的字样,好像是由微软(ICO 格式的图片一开始就是在 Windows 上使用的)提交给 IANA 的 MIME,但事实上 image/vnd.microsoft.icon 与微软没有直接的联系,恰恰相反,微软使用的是 image/x-icon 而不是 image/vnd.microsoft.icon。

从目前来看,大多数的知名网站使用的都是 image/x-icon,如百度与 Google 等等,所以应该来说,image/x-icon 才是事实上 ICO 文件的 MIME 标准,但浏览器一般来说都会正确地识别这两种的 MIME。


CATEGORY

TOP