HTTP/1.0
小明想买400个苹果
1.小明打电话给超市: 超市你好,我想来买东西,可以吗
2.超市说:可以的,我也想卖东西给你,你同意吗
3.小明说:好的,我同意,我想买400个超市一楼的红富士苹果
4.超市,好的,我先发100个给你,因为每个箱子只能装100个苹果
5.再发101-200个苹果,小明等待,未挂电话
6.超市发201-300个苹果,小明等待,未挂电话
7.超市发301-400个苹果,小明等待,未挂电话
8.苹果全部发完了,小明也都顺利收到了。电话就挂断了
过了一分钟,小明又想买300个超市二楼的哈密瓜了
又要重新打电话,非常麻烦
所以想要解决这个问题
HTTP/1.1
HTTP1.1采用持续连接的方式和流水线的方式
当小明收到苹果以后,电话不会挂断,还是保持电话接通的状态
----在该持续连接的方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)
和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。这并不局限于传送同一个页面
上引用的对象,而是只要这些文档都在同一个服务器上就行
在678里面,小明都是处于等待收苹果的状态,这个时间其实可以利用起来。如果小明还想买香蕉
买草莓,这个时候就可以和超市说,而不用非得等到苹果全部收到了再说下一个想买什么
----为了进一步提高效率,HTTP1.1的持续连接还可以使用流水线方式工作,即浏览器在收到HTTP的响应报文
之前就能够连续发送多个请求报文。这样的一个接一个的请求报文到达服务器后,服务器就发回一个接一个的
响应报文。这样就节省了很多个RTT时间,使得TCP连接中的空闲时间减少,提高了下载文档的效率
 
![]()