HTTP协议作为一个传输协议,其最重要的性能评价标准就是响应速度,先概述下影响一个HTTP请求的两个主要因素:
1. 带宽
得益于网络基础设施的完善,带宽得到极大的提升,所以我们的http升级主要是解决延迟的问题。
2. 延迟
- 浏览器阻塞:浏览器会因为一些原因(同一域名请求数量)阻塞请求;
- DNS查询:浏览器需要通过DNS解析将域名转换为ip地址才能建立连接,可以利用DNS缓存结果来达到减少这个 时间的目的。
- TCP连接建立以及TCP的慢启动特性:HTTP协议是基于TCP协议的,浏览器最快也要在第三次握手时才能捎带HTTP请求报文,初始的HTTP1.0不支持长连接,所以每次请求都要重新建立连接,而且TCP的慢启动特性对大文件类请求影响较大。
什么是TCP慢启动
TCP连接会随着时间进行自我调谐,起初限制连接最大速度,如果数据传输成功,随着时间的推移再提高传输速度。这使得具有突发性和短时性的HTTP连接变得十分低效。
HTTP1.1和HTTP1.0的区别
1. 缓存处理
在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多