影响一个HTTP网络请求的因素主要有两个:带宽和延迟
延迟:
- 浏览器阻塞:
浏览器对同一个域名,连接数会有所限制,如果超出了最大连接数,后续请求就会被阻塞。(如果要做页面热点计算的话或者广告,那就得注意域名的使用了)
- DNS查询
- 建立连接:
HTTP是基于TCP协议的,至少第三次握手时才能带HTTP请求报文,以达到真正的连接
一、HTTP1.0和HTTP1.1的一些区别
1、缓存处理,在1.0中主要使用header里的if-Modified-Since,Expires来作为缓存判断的标准,1.1则引入了更多的缓存控制策略如Entity tag,if-Unmodified-Since,if-Match,if-None-Match等
2、带宽优化及网络连接使用,1.0中存在一些浪费带宽的现象,例如客户端只需要某对象的一部分,而服务器却将整个对象送了过来,并且不支持断点续传功能。1.1在请求头引入了range头域,它允许只请求资源的某一部分(返回码206)
3、1.1中新增24个错误状态响应码
4、Host头处理,在1.0中认为每台服务器都绑定一个唯一的IP地址,因此在请求消息中的URL没有hostname。随着虚拟主机技术的发展,一台物理服务器上可以存在多个虚拟机,并且共享一个IP地址。所以在1.1的请求消息和响应消息都支持Host头域,并且请求消息没有Host头域,会报400错误
5、长连接,HTTP 1.1支持长连接(PersistentConnect