网站性能:图片和Coockie以及移动应用的优化( 二 )


jpegtran -copy none -optimize -perfect src.jpg dest.jpg
30、优化CSS Spirite在Spirite中水平排列你的图片,垂直排列会稍稍增加文件大小;Spirite中把颜色较近的组合在一起可以降低颜色数,理想状况是低于256色以便适用PNG8格式;便于移动,不要在Spirite的图像中间留有较大空隙 。这虽然不大会增加文件大小但对于用户代理来说它需要更少的内存来把图片解压为像素地图 。100x100的图片为1万像素,而1000x1000就是100万像素 。
31、不要在HTML中缩放图像

不要为了在HTML中设置长宽而使用比实际需要大的图片 。如果你需要:
img width=100 height=100 src=https://www.rkxy.com.cn/dnjc/mycat.jpg alt=My Cat /
那么你的图片(mycat.jpg)就应该是100x100像素而不是把一个500x500像素的图片缩小使用 。
32、favicon.ico要小而且可缓存
favicon.ico是位于服务器根目录下的一个图片文件 。它是必定存在的,因为即使你不关心它是否有用,浏览器也会对它发出请求,因此最好不要返回一个404 Not Found的响应 。由于是在同一台服务器上,它每被请求一次coockie就会被发送一次 。这个图片文件还会影响下载顺序,例如在IE中当你在onload中请求额外的文件时,favicon会在这些额外内容被加载前下载 。
因此,为了减少favicon.ico带来的弊端,要做到:文件尽量地小,最好小于1K在适当的时候(也就是你不要打算再换favicon.ico的时候,因为更换新文件时不能对它进行重命名)为它设置Expires文件头 。你可以很安全地把Expires文件头设置为未来的几个月 。你可以通过核对当前favicon.ico的上次编辑时间来作出判断 。
Imagemagick可以帮你创建小巧的favicon 。
33、保持单个内容小于25K
这条限制主要是因为iPhone不能缓存大于25K的文件 。注意这里指的是解压缩后的大小 。由于单纯gizp压缩可能达不要求,因此精简文件就显得十分重要 。
查看更多信息,请参阅Wayne Shea和Tenni Theurer的文件Performance Research, Part 5: iPhone Cacheability - Making it Stick 。
34、打包组件成复合文本
把页面内容打包成复合文本就如同带有多附件的Email,它能够使你在一个HTTP请求中取得多个组件(切记:HTTP请求是很奢侈的) 。当你使用这条规则时,首先要确定用户代理是否支持(iPhone就不支持) 。

推荐阅读