# HTTP1.0和HTTP1.1的特点和区别
最近要期末考试了,就开始复习起了计网,看到了HTTP这里发现面试的时候这个也是重点,随机就把这个给记录下来了。
# HTTP1.0的特点
PPT解释: HTTP1.0采用的是非持续性连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器简历TCP连接,当收到响应后就立即关闭连接。
什么叫非持续性连接呢?
好问题!先上图
从这个请求报文中,不难得知,Connection: Close此时则是不持续连接。
不持续连接的耗费时间是在每次请求中都要多耗费2倍的往返时间RTT,那么举例说明
- 总之,每请求一个文档就要有两倍的RTT开销显然是不划算的。
- 而且,为了减小时延,浏览器通常会建立多个并行的TCP连接同时请求多个多个对象。但是,这些会大量占用万维网服务器的资源,特别是万维网服务器往往要同时服务于大量客户的请求,这会加重其负担。
# HTTP1.1的特点
PPT解释:HTTP1.1采用持续连接的方式,在该方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户端和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。这并不局限于传送同一个页面上的引用对象,而是只要这些文档都在同一个服务器上就行。
接下来,在Chrome中随机抓包一个请求
在这里的Connection: Keep-alive,眼熟于Vue中的组件状态,相近意思。就是持续连接。直到页面销毁。
- 为了进一步提高效率,HTTP1.1的持续性连接还可以使用流水线方式工作,即浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文。这样的一个接一个的请求报文到达服务器后,服务器就发回一个接一个的响应报文。这样就节省了很多个RTT时间,使TCP连接中的空闲时间减少,提高下载文档的效率。