本文主要考量客户端性能、服务器端和网络性能,内容框架来自 Yahoo Developer Network,包含 7 个类别共 35 条前端性能优化最佳实践,在此基础上补充了一些相关或者更符合主流技术的内容。
同时,建议关注及时更新的 Google 性能优化指南。
1. 页面内容
1.1 减少 HTTP 请求数
Web 前端 80% 的响应时间花在图片、样式、脚本等资源下载上。浏览器对每个域名的连接数是有限制的,减少请求次数是缩短响应时间的关键。
通过简洁的设计减少页面所需资源,进而减少 HTTP 请求,这是最直接的方式,前提是你的 Boss、设计师同事不打死你。所以,还是另辟蹊径吧:
- 合并 JavaScript、CSS 等文件;服务器端(CDN)自动合并基于 Node.js 的文件合并工具一抓一大把
- 使用CSS Sprite:将背景图片合并成一个文件,通过background-image 和 background-position 控制显示;Sprite CowSpritebox
逐步被 Icon Font 和 SVG Sprite 取代。
- Image Map:合并图片,然后使用坐标