文章目录
HTTP/2 协议-HPACK(HTTP2 头部压缩算法)原理介绍
HTTP/1
协议是一个无状态的协议,这样就导致每次请求都会传输重复的大量 HTTP
头部,使得 HTTP/1
协议的效率非常低下,HTTP/2
使用 HPACK(HTTP头部压缩算法)
解决了这样效率低下的问题,这篇文章简单介绍一下 HPACK
算法原理。
1.HPACK 中的三种压缩方式
- 静态字典
- 动态字典
- 压缩算法:
Huffman
编码(最高压缩比8:5
)
1.1 静态字典
比如需要传递 GET
这样一个数据,只需要传递它的静态字典 index
的值 2
就可以用来表达 GET
这样的含义,在 RFC7541
文档中对静态表的定义如下:
Tips:
RFC7541
文档地址https://httpwg.org/specs/rfc7541.html#static.table.definition
。