代码改变世界

【译】提高网站访问速度的34条军规 31-34

2009-02-21 22:36  拖鞋不脱  阅读(2251)  评论(3编辑  收藏  举报

这是雅虎上的一篇文章,最近正在研究提高网页响应速度和用户体验的方法,拿来翻译一下,加深理解。

 

原文:Best Practices for Speeding Up Your Web Site

 

31 不要在HTML中缩放图片 Don't Scale Images in HTML

tag:images

 

不要使用大小超过需要的图片,即使你能够在HTML中设置它的属性。如果你需要

<img width="100" height="100" src="mycat.jpg" alt="My Cat" />

那么就使用恰好100*100px的图片,而不是使用缩放后的500*500的图片。

 

32 使用小的可缓存的Favicon.ico Make favicon.ico Small and Cacheable

tag:images

 

favicon.icon是放在服务器根目录的一个图片,它是个麻烦却不得不处理,因为即使你不关心,浏览器依然会请求这张图片,所以最好不要提供一个404的错误。而且由于它是在同一服务器下的,Cookie也会随着每次请求一并发送。这张图片同样干扰下载队列,比如在IE中,当你在onload事件中请求额外的组件时,favicon会在这些额外组件之前下载。

所以为了减少favicon.ico的不利影响,我们应当:

  • 使用小图片,小于1k为佳。
  • 设置你认为合适的过期时间(因为你如果更新了图片,你并不能修改它的名字)。你可以设置过期为未来的几个月。你可以借鉴下你当前的favicon.ico的最后更新时间来作为设置依据。

Imagemagick 能够帮助你创建小图片。

 

33 保证组件大小小于25K Keep Components under 25K

tag:mobile

 

这一限制是因为iPone不会缓存大于25K的组件,注意这里指的是未压缩前的大小。这就是为什么缩小大小很重要,因为单单gzip并不足够。

查看Wayne Shea和Tenni Theurer的"Performance Research, Part 5: iPhone Cacheability - Making it Stick"获取更多信息。

 

34 把组件打包进多部分文档中 Pack Components into a Multipart Document

tag:mobile

 

把组件打包进多部分文档类似一封包含有附件的邮件,它能让你通过一个HTTP请求获取多个组件(记住HTTP请求是很昂贵的)。当你使用这一技术,请先检查客户端是否支持它(iPone不支持)。