HTTP/2协议中压缩算法是如何工作的

HTTP/2协议中压缩算法是如何工作的

这篇文章主要为大家展示了“HTTP/2协议中压缩算法是如何工作的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTTP/2协议中压缩算法是如何工作的”这篇文章吧。


 

一、压缩效果对比

 

1、压缩前效果      
 

     


以Header中的user-agent为例,在压缩前的大小为63个字节。

 

HTTP/2协议中压缩算法是如何工作的


2、压缩后效果    
 

   


Header中的user-agent在压缩后,大小为1个字节。

HTTP/2协议中压缩算法是如何工作的


小结:Header中user-agent从压缩前的63个字节到压缩后的1个字节,HTTP/2是如何做到的呢?

 

二、HPACK算法

 

HTTP/2头部通过HPACK算法进行压缩,这种算法通过服务端和客户端个字维护索引表来实现。索引表又分为静态表和动态表。
 

1、伪头字段      
 

     

 

Header传输以二进制桢的方式进行,为了与HTTP1中Header区分,这些以冒号开头的字段被称为“伪头字段”。


HTTP/2协议中压缩算法是如何工作的

 

2、静态表      
 

     

 

静态表中定义了61个Header字段与Index,可以通过传输Index进而获取Header的字段与值,极大减少了报文大小。静态表中的字段和值固定,而且是只读的。


静态表部分值

HTTP/2协议中压缩算法是如何工作的

 

详见:https://tools.ietf.org/html/rfc7541#appendix-A


3、动态表      
 

     

动态表接在静态表之后,结构与静态表相同,可随时更新。下图中索引号62、63即为动态表字段。

HTTP/2协议中压缩算法是如何工作的


以上是“HTTP/2协议中压缩算法是如何工作的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!