w为什么要提升Web页面性能
Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%-90%时间花在了下载页面组件上。
web性能对于用户体验有及其重要的影响,根据著名的2-5-8
原则:
- 当用户在2秒以内得到响应,会感觉系统的响应非常快
- 当用户在2-5秒之内得到响应,会感觉系统的响应速度还可以
- 当用户在5-8秒之内得到响应,会感觉系统的响应非常慢,但还可以接受
- 当用户在8秒之后都没有得到响应,会感觉系统糟透了,甚至系统已经挂掉;要么打开竞争对手的网站,要么重新发起第二次请求
凡事都需要研究,通过科学的研究我们就可以找到事物的发展规律。《高性能网站建设》这本书中的14条优化原则,总结起来主要是以下个方面的优化:
- 减少HTTP请求
- 页面内部优化
- 启用缓存
- 减少下载量
- 网络连接上的优化
1.一般来说要减少http请求通常从两个方面下手:减少图片的请求、减少脚本文件与样式表的请求
- 图片的减少通常有两种方式:css sprites、内联图片、IconFont。
- 减少脚本与样式表的请求主要原则就是合并。
2.页面内部优化
关于页面内部优化主要方向:样式表放在顶部、脚本文件放在底部、避免css表达式、把脚本的样式表放在外部、移除重复脚本
3.启用缓存
关于缓存的使用这里介绍两套方案:expires/If-Modified-Since、Cache-Control/Etag;前者是HTTP1.0中的缓存方案,后者是HTTP1.1中缓存方案,若http头部中同时出现二者,后者的优先级更高。
4、减少下载量
减少下载量最有效的方式就是开启gzip压缩,gzip是GNU开发的一种免费格式。
5、优化网络连接
网络连接的优化主要有三个规则:使用CDN加速、减少DNS查找、避免重定向