Gzip 压缩
Hertz 提供了 Gzip 的实现。
在 HTTP 中,GNUzip(Gzip) 压缩编码是一种用来优化 Web 应用程序性能的方式,并且 Hertz 也提供了 Gzip 的 实现 。
安装
示例代码
Gzip
GzipStream
若用户有 gzip 压缩加 chunk 流式写的需求,可以使用该中间件。该中间件的行为是:将每个 chunk 分块先 gzip 压缩再发送给客户端。每个 chunk 分块都是一份独立的压缩数据,所以客户端收到的每个 chunk 分块都可以独立解压使用。
注意:使用该中间件会劫持 response writer,可能会对其他接口造成影响,因此,只需要在有流式 gzip 需求的接口使用该中间件。
配置
以下配置对
GzipStream
同样适用。
Gzip
提供了四种压缩选项:BestCompression
,BestSpeed
,DefaultCompression
,NoCompression
用于用户自定义压缩模式
选项 | 描述 |
---|---|
BestCompression | 提供最佳的文件压缩率 |
BestSpeed | 提供了最佳的压缩速度 |
DefaultCompression | 默认压缩率 |
NoCompression | 不进行压缩 |
函数签名如下:
示例代码如下:
WithExcludedExtensions
gzip
提供 WithExcludeExtensions
用于帮助用户设置不需要 gzip
压缩的文件后缀,默认值为 .png
, .gif
, .jpeg
, .jpg
函数签名如下:
示例代码如下:
WithExcludedPaths
gzip
提供了 WithExcludedPaths
用于帮助用户设置其不需要进行 gzip
压缩的文件路径
函数签名如下:
示例代码如下:
WithExcludedPathRegexes
gzip
提供了 WithExcludedPathRegexes
用于帮助用户设置自定义的正则表达式来过滤掉不需要 gzip
压缩的文件
函数签名如下:
示例代码如下:
更多用法示例详见 gzip
最后修改
January 14, 2025
: Update release-v0_12_0.md (#1205) (bd11c02)