减少http请求的方法
-
使用css雪碧图
-
使用base64编码
-
合并脚本与样式表代码到html中
-
配置多个域名,使用CDN加速服务。
-
尽量使用浏览器的缓存机制(不经常修改的文件可存)。
剩下是代码上的优化:ajax优化…
解释:
雪碧图是开发者预先准备好的图片,而经常/可能更新的图片不能作为雪碧图。
base64编码适用于小图标,尺寸很小的图片。使用64位编码形成,按照编码解析一张图片,而不是http请求。
劣势:
- 增加了代码量,一张复杂的图片使用base64编码后代码非常多;
- 解析过程还可能混乱。
- http请求花费的时间可能会小于<一张复杂图片的base64编码解析时间
CDN加速服务具备接收并发请求的能力、速度很快;例如网页中的图片可以上传到七牛云,虽然图片url地址还是显示自己的域名,本质图片是在第三方服务器上存储,访问第三方服务器提供的CDN加速域名拿到资源。
浏览器发情http传统做法:下载一次资源,就需要发起一次http请求
当然现代浏览器会有更先进做法:网络课
预备知识:从url回车——>页面呈现的简单过程
-
url输入回车
-
DNS解析:把URL解析成:
- 相应服务器的IP地址
- 代理服务器的IP地址
-
浏览器网络向相应服务器发起TCP/IP连接请求
-
建立TCP/IP连接(三次握手)
-
浏览器网络发起HTTP请求
-
等待响应过程
-
下载HTML资源
-
解析HTML
-
遇到HTML里的资源,再次发起HTTP请求—>下载资源
四次挥手是HTTP请求与接收资源的过程中产生的
-
时间线
-
呈现内容
这些过程中最耗时的部分:http请求获取资源部分(5,6,7,8,9),占这个过程中80%以上