高并发优化--减少HTTP请求
1、为什么需要减少HTTP请求
1.1、性能黄金法则
只有10%到20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片、script、css、flash等等)进行的HTTP请求上。
1.2、DNS缓存和Keep-Alive谣言
1、查找DNS缓存虽然很快但是也需要时间,多个缓存就要查找多次,有可能缓存也会被清除
2、HTTP1.1协议规定请求只能串行发送,也就是说一百次请求必须依次逐个发送,前面的一个请求完成才能开始下个请求
1.3、改善请求
改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量。
1.4、http请求的步骤
1、域名解析
2、TCP连接
3、发送请求
4、等待
5、下载资源
6、解析
2、减少HTTP请求方式
2.1、图片地图
将多个图片合并为一个图片,然后以位置信息定位超链接
使用标签实现
2.2、CSS Sprites(css精灵)
合并图片,通过css的background-position和background-image属性来显示元素
CSS精灵和图片地图的相应时间基本相同,比使用独立图片的方式要快50%以上
2.3、合并css和js
独立的一个js比多个js文件组成的页面载入要快38%
2.4、外部js和css
使用外部js和css比直接写在页面中性能要好一些
2.5、图片使用base64编码
缺点是html文档内容会变大