User fewer HTTP Requests:减少HTTP请求
图片、CSS、JS、flash等这些都需要增加http请求数,减少这些元素的数量能减少响应时间。
把多个JS、CSS尽可能合并压缩(除了JS库,那东西用别的网站上的缓存比较靠谱)
小图片尽可能拼在一起,利用CSS的background定位。
Use a Content Delivery Network 利用CDN技术
这个可以有效的减轻网页层与服务器之间的压力,在配合cache和lvs效果更佳
Avoid empty src or href 不存在的空路径
类似于<img src="">这样的链接不要出现。
Add an Expires headers 设置缓存控制
在.htaccess文件里面加一段
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault “access plus 7 days”
ExpiresByType p_w_picpath/x-icon “access plus 30 days”
ExpiresByType p_w_picpath/gif “access plus 30 days”
</IfModule>
服务器如果不支持mod_expires就不可以用了。
Compress components with gzip 设置GZIP压缩
在cPanel的网站优化里面选择第二项全部压缩就好了。
PS:
这里需要注意下,不是所有的东西都用gzip的,如果数据小于1500字节,理论上可以不用gzip,因为小的东西本身就不会费流量,如果你gzip了可能会增加解压的成本。
其实小的js应该合并。
Put CSS at top CSS放头部
正常网页都应该这样吧?
Put JavaScript at bottom JS放脚下
如果你的网页不是特别依赖JS的效果,还是把JS放脚下比较好。
Avoid CSS Expressions 避免CSS 表达式
每个CSS的教科书都会告诉你不要写Expressions,不解释了
Make Javascript and CSS external 使用外部JavaScript和CSS文件
当然要这么做。
Reduce DNS Lookups 减少DNS查找
减少网站从外部网站调用资源。
Minify Javascript and CSS
JS和CSS最小化,很多工具都可以用来压缩他们。
Avoid URL redirects 避免重定向
除了避免3XX类型的重定向,还有一个小问题,最好不要写aa.com/bb这样的网址,因为会被重定向到aa.com/bb/,虽然Apache可以使用mod_rewrite,但不这么写是最好的。
Remove duplicate javascript and CSS 删除重复脚本和CSS
最常见的就是多次加载jquery了,用jsview查看下就一目了然了。
Configure ETags 配置ETags
想知道ETags是什么Google之。
解决办法是 .htaccess里加入FileETag None之。
Make AJAX cacheable 设置AJAX的缓存
AJAX的信息读取是异步的,这也表示用户不一定会等待这异步的响应,为避免重复的AJAX请求,设置缓存是优化性能的一个好方法。
Use GET for AJX requests
AJAX用Get不要用Post,这个AJAX书里面都会介绍的。
Reduce the number of DOM elements 减少DOM元素数量
这个需要xhtml有个好的构架。
Avoid HTTP 404 (Not Found) error 避免出现404错误页面。
404对服务器还是用户都不好。
Reduce cookie size 减少cookie的大小
cookie控制在4K以内。
Use cookie-free domains 使用域名无关性的Cookie
这里是有关静态服务器的问题,主要是指一些静态文件比如说图片、CSS等等,如果没用二级域名,那么在请求这些的时候会发送cookie下的域名,但Server又不会理他,所以会浪费带宽和时间。
如果设置了泛域名,那只能重新申请一个域名来做静态的了。
比如说YAHOO,他的静态文件都在 yimg.com 上,客户端请求静态文件的时候,减少了 Cookie 的反复传输对主域名的影响。
Avoid AlphaImageLoader filter
避免AlphaImageLoader滤镜的使用。
Do not scale p_w_picpaths in HTML 不要对图片进行缩放
W3C一直不提倡图片缩放,一方面是对服务器资源的浪费,另一方面也是对性能的浪费。
Make favicon small and cacheable 使图标尽可能小,并使用缓存。
这里指的是favicon.ico了,前面已经设置过了favicon.ico缓存。