本文从从通信性能角度,来分析对比HTTP1.0和HTTP1.1之间的区别。以及HTTP1.1与HTTP2.0之间的区别。
一丶HTTP1.0与HTTP1.1通信性能上的区别持久化连接HTTP1.1是默认支持持久化连接的。HTTP1.0若要支持持久化连接需要显示指定Keep-alived报文头。1.非持久化连接下HTTP协议的通信比如访问www.taobao.com这个URL。访问该URL时,首先会从目标服务器上到HTML这样的静态资源,服务器返回资源后会自动断开连接,这是一次非持久的HTTP通信过程。
2.持久化连接下HTTP协议的通信持久化连接很易懂。在一次HTTP通性过程后,服务器若没有受到显示关闭连接的通知其不会断开连接,而是一直保持该连接。如此一来,在访问诸如www.taobao.com这样的页面时,页面上的多数资源能够在一条TCP链接上传输。这样极大的减少了多次TCP连接,释放带来的性能损失。持久化连接下的通信如下图所示
管线化技术管线化技术是在持久化连接的基础上,进一步对通信性能的提升。在持久化连接下,请求和相应是顺次进行的。上次请求得到响应后,才能发送下次请求。管线化技术就是指能在未收到响应时,顺次发送多个响应。
二丶HTTP2.0与HTTP1.1之间通信性能对比1.多路复用技术多路复用技术建立在持久连接的基础上,允许所有请求公用同一连接,并且能够并行传输。此处的多路复用技术和管线化技术值不同之处在于:管线化技术中所有,请求是顺次发送出去的。而多路复用中,所有请求是并行发送出去的。
2.报文头压缩报文头压缩同样比较容易理解,减小HTTP报文中头部字段的开销,提供通信效率。采用报文头压缩主要是两个原因:(1)对于单个HTTP报文而言,当携带较少的通信数据时,报文头部大小将远远大于有效的通信数据,导致带宽利用率较低。(2)在持久化连接下,传送的多个HTTP报文之间,经常存在重复报文头字段在传输。
领取专属 10元无门槛券
私享最新 技术干货