favicon.ico的404错误

发布时间:2016-7-15 16:31:17

它是favorites icon的缩写,也被称为website icon(网页图标)、page icon(页面图标)或urlicon(URL图标)。它是与某个网站或网页相关联的图标。网站设计者可以多种方式创建这种图标,而目前也有很多网页浏览器支持此功能。浏览器可以将favicon显示于浏览器的地址栏中,也可置于书签列表的网站名前,还可以放在标签式浏览界面中的页标题前。

前段时间,做了一个IIS日志文件分析系统,利用它分析我们网站LOG日志,在发现日志种出现了很多favicon.ico的404错误,于是找了相应资料,顺便重新了解了下favicon。首先介绍下,什么是favicon,它是favorites icon的缩写,也被称为website icon(网页图标)、page icon(页面图标)或urlicon(URL图标)。它是与某个网站或网页相关联的图标。网站设计者可以多种方式创建这种图标,而目前也有很多网页浏览器支持此功能。浏览器可以将favicon显示于浏览器的地址栏中,也可置于书签列表的网站名前,还可以放在标签式浏览界面中的页标题前。

最初,定义一个收藏夹图标的方法是将一个名为“favicon.ico”的文件置于Web服务器的根目录下,Internet Explorer的收藏夹(即书签)可以自动显示该文件。后来出现了一种更为灵活的方法,即使用HTML来为任何一个网页指示其图标所存储的位置。这种方法是通过在页面的部分添加两个link组件来实现的。这样,任何一个适当大小的(16×16像素或更大)的图像都可以用作favicon。尽管如此,多数情况下仍然使用ICO格式。其他网页浏览器现在也支持PNG格式,和GIF动画图像格式。

现在多数浏览器同时支持上述两种方法。正因此,网络服务器要接受很多对“favicon.ico”文件的请求,即使该文件根本不存在。网站管理员对此很不满,因为这样会增加大量的服务器日志(Server log)项,并导致很多不必要的磁盘读取和CPU、网络资源的占用。另一个常见的问题是,当清除浏览器的缓存后,favicon可能会消失。


Internet Explorer最早仅仅将favicon用于收藏夹(例如IE 6.0)。这产生了一些关于隐私问题的考虑,因为网站拥有者可以通过检查访问日志查看有多少人下载了favicon.ico文件,判断有多少人将他们的网站放入收藏夹中。然而,自从新版本的Internet Explorer出现,以及很多其他浏览器开始在每次访问时都将favicon显示在地址栏上,这就不再是一个问题了。


用IE8测试,先清理浏览器缓存,再抓包,发现浏览器第一次会去调用favicon.ico文件,IIS日志中也会留下相应的记录。


原先我的favicon是这样设置的:


修改方法:

1.把logo.ico改名为favicon.ico并且放到网站根目录下

2.并且把网页里的这段代码 去掉

之后重新删除缓存,再打开网站,发现浏览器的地址栏可以正确访问,而且404错误不会再出现了。

如果要问favicon.ico这样的404错误日志怎么样才能不记录呢,上面就是解决的办法。


如果你发现,你存放图标过程中,出现favicon.ico图标更换问题,比如制作了一个ICO图标(16×16) ,上传到根目录下,并清理了浏览器缓存,最后发现还是没有更换掉官网默认的图标,这个可能是浏览器本身的问题,一般过一段时间就生效了。