首先,感谢 圆心 和 小马 主持这次的技术交流会。此次关注的是 客户端的效率问题 ,根据 Yahoo 的总结,可以总结下面 14 条「军规」。

  1. 尽可能的减少 HTTP 的请求数 [content]
  2. 使用 CDN(Content Delivery Network) [server]
  3. 添加 Expires 头(或者 Cache-control) [server]
  4. Gzip 组件 [server]
  5. 将 CSS 样式放在页面的上方 [css]
  6. 将脚本移动到底部(包括内联的)[javascript]
  7. 避免使用 CSS 中的 Expressions [css]
  8. 将 JavaScript 和 CSS 独立成外部文件 [javascript] [css]
  9. 减少 DNS 查询 [content]
  10. 压缩 JavaScript 和 CSS (包括内联的)[javascript] [css]
  11. 避免重定向 [server]
  12. 移除重复的脚本 [javascript]
  13. 配置实体标签(ETags)[css]
  14. 使 Ajax 缓存 [content]

根据,PPT 的内容所示,我使用 Yslow 检查了下本人的主页,才得了个「F 47」(坦白说,与我本人估计的非常有出入)。

https://friable.rocks/_/2009_11_05/1971454c2cf7.jpg

主要的问题就是没有开启 Gzip 压缩,以及没有设置 HTTP 头缓存。看来折腾了那么久,除了服务器端的性能,客户端的缓存还是不能忽视的。

想想看,如果淘宝首页没有缓存,即便是多了 1KB 的页面容量,乘以每天上亿的 PV,这个数字将是多么的庞大。

最后, 提供本次的交流会的 PPT 下载 ,再次感谢他们。

有关更多的信息,可以访问 圆心 同志的 Blog ,他上面有更详实的内容。