尽管做网站好多年了,但一直忽视favicon.ico这个图标,也许大家设置favicon.ico的目的,是为了在浏览器上显示时更好看点,更能个性化网站,但我认为没有这个必要。不过,今天我要说的是,我之前的看法是不对的,任何网站都应该设置一个favicon.ico图标,不是为了好看,也不是为了个性化,而是为了优化网站速度。
为什么今天说在网站上设置了favicon.ico,就可以优化网站速度呢?难道服务器缺少favicon.ico就影响网站速度吗?答案是肯定。
Yahoo:减小favicon.ico体积和缓存favicon.ico
在Yahoo的网站速度优化建议里,有一条是:减小favicon.ico体积和缓存favicon.ico。它是怎么解释的呢?看看那Yahoo的解释:
favicon.ico是一个放在服务器根目录的图片,这是必需的,因为即使你不关心它但是浏览器一样会请求它,所以最好不要响应“404未找到”。
另外,由于它放在相同的服务器上,每次它被请求的时候,都会发送cookies。
这张图标也会干扰下载顺序,例如在IE中,当在onload时你请求额外的组件,favicon将先于这些额外组件下载。
所以为了减轻favicon.ico带来的弊端,请确保:
它是小体积的,最好在1K以内。
使用你觉得合适的方法设置过期标头(因为当你要改变它时你不能重命名它),你可以安全地设置过期标头为几个月的时间,你可以检测你现在的favicon.ico的最后修改时间以做出合适的决定。
Imagemagick能帮助你创建一个小体积的图标。
卡卡网站速度诊断:缺少favicon.ico响应404错误
在卡卡网的网站速度诊断(http://pagespeed.webkaka.com/)里,如果网站缺少favicon.ico图标,那么就返回一条404的错误提示。
缺少favicon.ico响应404错误(点击图片放大)
缺少favicon.ico响应404错误,符合Yahoo的优化规则,而响应404的错误提示,势必会影响网站的速度,在上图中,我们清楚的看到,浏览器请求favicon.ico时等待时间用了62ms。在Google的网站速度优化建议中,也提到“去掉错误的请求”,因为“错误的请求会增加请求时间,应尽量避免”。
评论列表