unzstd
`unzstd` 指令用于启用或禁用对不支持 Zstandard 编码的客户端的 Zstandard 压缩响应的解压。
说明
unzstd 指令是 NGINX ngx_http_unzstd_filter_module 的一个关键功能,旨在为无法处理 Zstandard (Zstd) 压缩的客户端提供兼容性。启用后,NGINX 会自动解压带有 Content-Encoding: zstd 头的响应。这对于仅支持旧有压缩格式的 Web 客户端尤为重要,从而确保它们能够正确接收并使用由 Zstd 压缩的网页内容。
该指令的一个重要方面是其标志参数,可设置为 on 或 off。将 unzstd 设置为 on 会指示 NGINX 处理传入的请求和响应,专门查找标记为 Zstd 压缩的项。如果检测到此类响应,将在发送回客户端之前对其进行解压,从而让客户端在无需本身支持 Zstd 的情况下也能无缝访问资源。相反,若设置为 off,该模块将不执行任何解压操作,可能导致客户端收到其无法解码的压缩数据。
该指令可以在 NGINX 配置的不同级别指定,具体包括 http、server 或 location 块,从而根据应用需求灵活地为特定上下文启用解压。为了全面的性能和资源管理,它与另外两个指令配合使用:unzstd_force(用于有条件地强制解压)和 unzstd_buffers(用于控制解压操作期间使用的缓冲区容量)。这不仅实现了高效的数据处理,还有助于优化服务器资源的利用。
配置示例
server {
listen 127.0.0.1:8080;
server_name localhost;
location / {
# Enable Zstd decompression for clients that do not support Zstd compression
unzstd on;
proxy_pass http://foo.com;
}
}确保已正确安装并配置 Zstandard 库,因为该指令依赖外部依赖项。
对支持 Zstd 的客户端要谨慎;为所有客户端启用解压缩(如果不必要)可能会导致性能下降。
该模块为实验性功能,配置不当可能导致意外结果,例如可能需要暂时禁用它。