近日读了《高性能网站建设指南》一书。就此发点笔记。
目录:
绪言A、绪言B
第1章:规则1——减少HTTP请求
第2章:规则2——使用内容发布网络
第3章:规则3——添加Expires头
第4章:规则4——压缩组件
第5章:规则5——将样式表放在顶部
第6章:规则6——将脚本放在底部
第7章:规则7——避免CSS表达式
第8章:规则8——使用外部JavaScript和CSS
第9章:规则9——减少DNS查找
第10章:规则10——精简JavaScript
第11章:规则11——避免重定向
第12章:规则12——移除重复脚本
第13章:规则13——配置ETag
第14章:规则14——使AjaX可缓存
第15章:析构十大网站
第一章:减少HTTP请求。
原因:只有10%~20%的用户响应时间花在接收HTML文档上。80%~90%的时间用于HTML引用的组件(img、css、js)上。
使用方法:
- 图片地图。
- css占卜写板(整合一些小图片到一张图片里,再用backgroundPosition定位显示)。
- 内联图片(通过使用data,IE不支持)。
- 全并脚本和样式表
第二章:使用内容发布网络
原因:用户群基数过大,选择就近的服务器最好。
使用方法:
- 自己架构内容发布网络(CDN)
- 租用CDN服务提供商的服务。Akamai Technologies、Limelight Network
第三章:添加Expires头
原因:自定义缓存时间,web服务器使用Expires头来告诉Web客户端它可以使用一个组件的当前副本,直到指定的时间为止。可减少HTTP请求。
使用方法:
- Expires: Thu,15 Apr 2010 20:00:00 GMT
- Max-Age和mod_expires。max-age指定组件缓存多久。
- 组件更新时,使用新的文件名。
第四章:压缩组件
原因:减少响应发送的数据量。
使用方法:
- Web服务器通过响应中的Content-Encoding头来通知Web客户端:Content-Encoding:gzip。gzip是目前(2010)最流行和最有效的压缩方法。
- 压缩HTML、CSS文件、JS文件
- 配置gzip时使用的模板取决于Apache的版本。
……
第十章:精简JavaScript
原因:js为无编译步骤代码,应该减少字符量
使用方法:
- 去除注释和空白(混淆)
- 缩短变量名(节省)。可用工具:JSMin(Yahoo!开发,本书作者所在公司)
第十一章:避免重定向
原因:各种原因会导致URL重定向,加大查找文档时间
使用方法:
- 避免js重定向
- 在访问文件夹时加上/。如:http://baidu.com/123 和 http://baidu.com/123/ 缺少结尾斜线会依赖自动索引,URL通常会与根目录相关而不是与当前目录相关。
……
本人关注理解仅限笔记描述部分,如对此书有深厚兴趣,请阅读《高性能网站建设指南》/《High performance Web site》steve souders著