前言
今天看http1.1和http1.0的区别的文章,发现自己对于 “ HTTP 1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。" 这样一句话完全没有概念。于是自己就写了这篇博客来帮助自己理解它。 我之所以不理解这句话,是因为我不理解http是建立在TCP协议上的这件事。
TCP的三次握手协议 。
首先我们来回顾一些TCP的三次握手协议 。
首先Client端发送连接请求报文 “你好!我想和你建立连接”,
Server段接受连接后回复ACK报文,并为这次连接分配资源,"好啊!"。
Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。“谢谢!我的下一份电报就是数据了奥”
然后客户端和服务器经过了三次握手协议终于建立了连接了 。 然后可以愉快的传输数据了 。 但是HTTP1.0规定一个HTTP请求后就必须要关闭这个TCP辛辛苦苦建立起来的连接 。要知道你要想成功的关闭这个连接还要经过4次挥手协议呢! 于是HTTP1.1很人性化的提出了 ,建立完TCP连接后,我可以传输多个HTTP请求 。 这样不就减少了这部分的浪费了嘛!
参考资料
http://blog.csdn.net/whuslei/article/details/6667471 TCP协议中的三次握手和四次挥手(图解)
http://blog.csdn.net/elifefly/article/details/3964766 http1.1和http1.0的比较