favicon.ico的正确MIME类型?


140

根据互联网号码分配机构(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官方类型实际上有任何问题吗?


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

Answers:


171

当您提供要用作网站图标的.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类型没有IANA规范image/x-icon,因此看起来确实比非正式得多image/vnd.microsoft.icon

唯一有区别的情况是您是否尝试在<img>标记中使用.ico文件(这很不常见)。根据先前的测试,某些浏览器仅在将.ico文件显示为MIME-type时才显示为图像image/x-icon。最近的测试表明:Chromium,Firefox和Edge都适用于两种内容类型,而IE11则不行。如果可以,请避免使用ico文件作为图像png


我在任何地方都没有选择任何东西,我试图解释两个用例:1-用作收藏图标(与哪种mime类型无关),2-用作网页内的img(IE仅使用mimetype image / x正确显示它-图标)。
mata 2013年

您说,您可以使用.ico文件,<img src=''>只要它们被Web服务器用作image / x-image。然后,您说如果要在HTML页面中将.ico文件用作图像,则应将MIME类型设置为image / x-icon
Chuck Le Butt 2013年

大。至少现在有道理!不过,我对将.ico文件作为网站中的图像提供服务并不感兴趣。问题特别是关于将.ico文件用作网站图标。如果您改写答案,那将大有帮助。谢谢。
Chuck Le Butt

根据Wikipedia的说法,image / x-icon由Microsoft组成,image / vnd.microsoft.icon已在IANA上注册(但未由Microsoft自己注册)。
mjaggard 2014年

10
FWIW,Google将image / x-icon用作其图标
NateS 2014年

30

我认为这种混淆的根源在 Wikipedia文章中得到了很好的解释。

尽管ICO文件在IANA上注册的MIME类型为image / vnd.microsoft.icon,但它是由第三方于2003年提交给IANA的,但Microsoft软件无法识别,该软件使用image / x-icon。

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


3
最后一个答案!但是,即使Microsoft自己不使用它,它仍然是IANA注册的MIME类型。奇怪的。
Chuck Le Butt 2015年

3

我注意到,当使用时type="image/vnd.microsoft.icon",当浏览器未连接到Internet 时,收藏夹图标不会出现。但是,type="image/x-icon"无论浏览器是否可以连接到Internet,该方法都起作用。开发时,有时我没有连接到互联网。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.