9

我想设置一个从静态文件服务器而不是主 Web 服务器请求的网站图标以进行性能优化。

如果我指定 a<link rel="shortcut icon" href="http://cdn.site.com/favicon.ico">/favicon.ico在我的站点根目录中也有 a 作为后备,浏览器会更喜欢哪个?浏览器(以及哪个?)是否仍会寻找/favicon.ico,从而使迁移到静态文件服务器毫无用处?

4

3 回答 3

31

我做了上面建议的测试。我在域的根目录中放置了一个 /favicon.ico 和一个链接,然后在以下位置启动了页面:

  1. 歌剧 10
  2. 歌剧 9.64
  3. 火狐 3.5
  4. 即 6
  5. 即 7
  6. 即 8
  7. 野生动物园 4

他们都显示了加载的图标<link rel="shortcut icon" href="http://cdn.site.com/favicon.ico">(位于外部服务器上)。我查了access.log,没有要求/favicon.ico

然后我注释掉<link>,在所有浏览器中再次检查,他们/favicon.icoaccess.log.

于 2009-10-12T14:30:23.717 回答
7

答案是:在大多数现代浏览器上,链接应该胜过本地文件,但它确实取决于非主流浏览器的实现(尽管您可能并不真正关心除 IE、Firefox、Safari 和 Chrome 之外的其他浏览器)

自己测试它也应该很简单。只需将favicon.ico文件放在站点文件夹中,并在静态服务器上添加一个指向不同外观图标文件的链接,然后查看哪个在不同浏览器中加载。

于 2009-10-12T13:36:18.710 回答
3

不要忘记浏览器并不是唯一会请求网站图标的东西——许多爬虫和其他应用程序也会这样做。

于 2013-03-09T09:12:14.730 回答