# gzip 的原理是什么

Issue

欢迎在 Issue 中交流与讨论: Issue 109 (opens new window)

一句话:gzip 的核心是 Deflate,而它使用了 LZ77 算法与 Huffman 编码来压缩文件,重复度越高的文件可压缩的空间就越大。

因此 gzip 用于 HTTP 文件传输中,比如 JS、CSS 等。在 HTTP Response 报文中,用 Content-Encoding 指明使用 gzip 压缩,而以下响应头在大部分生产环境的响应报文中都可以看到!比如你现在立刻马上可以打开我的网站 (opens new window)或者百度 (opens new window)试一试。

# Request Header
Accept-Encoding: gzip, deflate, br

# Reponse Header
Content-Encoding: gzip

gzip 一般在反向代理那一层,如 nginx 进行处理,直接使用 C 语言编写,压缩性能较高

gzip on;

# LZ77

# Huffman

Last Updated: 1/15/2021, 6:07:33 AM