首先,感谢 圆心 和 小马 主持这次的技术交流会。此次关注的是 客户端的效率问题 ,根据 Yahoo 的总结,可以总结下面 14 条「军规」。
- 尽可能的减少 HTTP 的请求数 [content]
- 使用 CDN(Content Delivery Network) [server]
- 添加 Expires 头(或者 Cache-control) [server]
- Gzip 组件 [server]
- 将 CSS 样式放在页面的上方 [css]
- 将脚本移动到底部(包括内联的)[javascript]
- 避免使用 CSS 中的 Expressions [css]
- 将 JavaScript 和 CSS 独立成外部文件 [javascript] [css]
- 减少 DNS 查询 [content]
- 压缩 JavaScript 和 CSS (包括内联的)[javascript] [css]
- 避免重定向 [server]
- 移除重复的脚本 [javascript]
- 配置实体标签(ETags)[css]
- 使 Ajax 缓存 [content]
根据,PPT 的内容所示,我使用 Yslow 检查了下本人的主页,才得了个「F 47」(坦白说,与我本人估计的非常有出入)。
主要的问题就是没有开启 Gzip 压缩,以及没有设置 HTTP 头缓存。看来折腾了那么久,除了服务器端的性能,客户端的缓存还是不能忽视的。
想想看,如果淘宝首页没有缓存,即便是多了 1KB 的页面容量,乘以每天上亿的 PV,这个数字将是多么的庞大。
最后, 提供本次的交流会的 PPT 下载 ,再次感谢他们。
有关更多的信息,可以访问 圆心 同志的 Blog ,他上面有更详实的内容。
貌似服务器支持Gzip.这和环境没关系吧?
@wiLdGoose 由于服务器负载的原因,部分空间商默认是不开 Gzip 输出的,不过这可以用程序搞定
我们是非常厉害的技术人员