unzstd

`unzstd` 指令用于启用或禁用对不支持 Zstandard 编码的客户端的 Zstandard 压缩响应的解压。

语法unzstd on | off;
默认值off
上下文http, server, location
参数flag

说明

unzstd 指令是 NGINX ngx_http_unzstd_filter_module 的一个关键功能,旨在为无法处理 Zstandard (Zstd) 压缩的客户端提供兼容性。启用后,NGINX 会自动解压带有 Content-Encoding: zstd 头的响应。这对于仅支持旧有压缩格式的 Web 客户端尤为重要,从而确保它们能够正确接收并使用由 Zstd 压缩的网页内容。

该指令的一个重要方面是其标志参数,可设置为 onoff。将 unzstd 设置为 on 会指示 NGINX 处理传入的请求和响应,专门查找标记为 Zstd 压缩的项。如果检测到此类响应,将在发送回客户端之前对其进行解压,从而让客户端在无需本身支持 Zstd 的情况下也能无缝访问资源。相反,若设置为 off,该模块将不执行任何解压操作,可能导致客户端收到其无法解码的压缩数据。

该指令可以在 NGINX 配置的不同级别指定,具体包括 httpserverlocation 块,从而根据应用需求灵活地为特定上下文启用解压。为了全面的性能和资源管理,它与另外两个指令配合使用: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 的客户端要谨慎;为所有客户端启用解压缩(如果不必要)可能会导致性能下降。

该模块为实验性功能,配置不当可能导致意外结果,例如可能需要暂时禁用它。

← 返回所有指令