规则1 -- 减少http请求 --同一时刻仅有2个请求
以下方式减少请求次数:
a. 图片地图
b. css sprites
c. 内联图片
d. 合并脚本.css
规则2 -- 使用内容发布网络(CDN)
Content Delivery Network: 一组分布在不同地理位置的Web服务器(近距离响应)
规则3 -- 添加Expires头
缓存时间
规则4 -- 压缩组件
Content-Encoding: gzip
Vary: Accept-Encoding //解决代理问题
规则5 -- 将样式表放在顶部
样式表下载完毕之前不会呈现任何内容 (否则会出现无样式内容的闪烁)
使用link标签将样式表放在文档head中
规则6 -- 将脚本放在底部
因为:
脚本会阻塞其后面内容的呈现
脚本会阻塞其后面组件的下载
规则7 -- 避免css表达式
因为页面上各种事件(如改变大小/移动鼠标等等)都会执行css表达式
事件处理器代替
规则8 -- 使用外部javascript 和 css
纯粹而言,内联快些,但考虑到缓存情况外部的快(缓存后不必再请求.下载)
规则9 -- 减少DNS查找
通过keep-alive 和较少的域名来减少DNS查找
规则10 -- 精简javascript
可以利用JSmin 和 Dojo Compressor 工具,移除不必要的空白
不建议用混淆方式
规则11 -- 避免重定向
缺少结尾斜线
cname让两个主机名指向相同服务器
内部流量可以通过referer日志代替重定向
出站流量可选择使用信标(beacon)--一个http请求,其url中包含有跟踪信息(可从信标Web服务器的访问日志中提取)
规则12 -- 移除重复脚本
两种避免方式:
a. 实现一个脚本管理模块. 用script标签
b. 程序语言(如php)创建一个insertScript的函数--判断并加载
规则13 -- 配置ETag (entity tag)
ETag存在问题,选择移除或自行配置
规则14 -- 使Ajax可缓存
确保ajax请求遵守性能知道,尤其应具有长久的Expires头
附 -- 性能测试工具
YSlow
IBM page detailer
Gomez
firebug
《高性能网站建设指南》精要
最新推荐文章于 2024-09-16 08:47:17 发布