Nginx官方文档(十九)【ngx_http_gunzip_module|ngx_http_gzip_module|ngx_http_gzip_static_module】

ngx_http_gunzip_module

ngx_http_gunzip_module 模块是一个过滤器,用于对不支持 gzip 编码方法的客户端解压缩 Content-Encoding:gzip 的响应。当需要存储压缩数据以节省空间并降低 I/O 成本时,该模块将非常有用。

此模块不是默认构建,您可以使用 --with-http_gunzip_module 配置参数启用。

示例配置

location /storage/ {
    gunzip on;
    ...
}

指令

gunzip

-说明
语法gunzip on | off;
默认gunzip off;
上下文http、server、location

对缺少 gzip 支持的客户端启用或禁用 gzip 响应解压缩。如果开启,在确定客户端是否支持 gzip 时还会考虑以下指令:gzip_http_versiongzip_proxiedgzip_disable。另请参阅 gzip_vary 指令。

gunzip_buffers

-说明
语法gunzip_buffers number size;
默认gunzip_buffers 32 4k|16 8k;
上下文http、server、location

设置用于解压响应的缓冲区的数量(number)和大小(size)。默认情况下,缓冲区大小等于一个内存页(4K 或 8K,取决于平台)。

原文档

http://nginx.org/en/docs/http/ngx_http_gunzip_module.html


ngx_http_gzip_module

ngx_http_gzip_module 模块是一个使用了 gzip 方法压缩响应的过滤器。有助于将传输数据的大小减少一半甚至更多。

示例配置

gzip            on;
gzip_min_length 1000;
gzip_proxied    expired no-cache no-store private auth;
gzip_types      text/plain application/xml;

$gzip_ratio 变量可用于记录实现的压缩比率。

指令

gzip

-说明
语法gzip on | off;
默认gzip off;
上下文http、server、location、location 中的 if

启用或禁用响应的 gzip 压缩。

gzip_buffers

-说明
语法gzip_buffers number size;
默认gzip_buffers 32 4k|16 8k;
上下文http、server、location

设置用于压缩响应的缓冲区的数量(number)和大小(size)。默认情况下,缓冲区大小等于一个内存页(4K 或 8K,取决于平台)。

在 0.7.28 版本之前,默认使用 4 个 4K 或 8K 缓冲区。

gzip_comp_level

-说明
语法gzip_comp_level level;
默认gzip_comp_level 1;
上下文http、server、location

设置响应的 gzip 压缩级别(level)。值的范围为 1 到 9。

gzip_disable

-说明
语法gzip_disable regex ...;
默认——
上下文http、server、location
提示该指令在 0.6.23 版本中出现

禁用对与任何指定正则表达式匹配的 User-Agent 头字段的请求响应做 gzip 处理。

特殊掩码 msie6(0.7.12)对应正则表达式 MSIE [4-6]\.,但效率更高。从 0.8.11 版本开始,MSIE 6.0; ... SV1 不包含在此掩码中。

gzip_min_length

-说明
语法gzip_min_length length;
默认gzip_min_length 20;
上下文http、server、location

设置被压缩响应的最小长度。该长度仅由 Content-Length 响应头字段确定。

gzip_http_version

-说明
语法gzip_http_version 1.0 | 1.1;
默认gzip_http_version 1.1;
上下文http、server、location

设置压缩响应一个请求所需的最小 HTTP 版本。

gzip_proxied

-说明
语法gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
默认gzip_proxied off;
上下文http、server、location

根据请求和响应,启用或禁用针对代理请求的响应的 gzip。事实上请求被代理取决于 Via 请求头字段是否存在。该指令接受多个参数:

  • off

    禁用所有代理请求压缩,忽略其他参数

  • expired

    如果响应头包含 Expires” 字段并且其值为禁用缓存,则启用压缩

  • no-cache

    如果响应头包含具有 no-cache 参数的 Cache-Control 字段,则启用压缩

  • no-store

    如果响应头包含具有 no-store 参数的 Cache-Control 字段,则启用压缩

  • private

    如果响应头包含带有 private 参数的 Cache-Control 字段,则启用压缩

  • no_last_modified

    如果响应头不包含 Last-Modified 字段,则启用压缩

  • no_etag

    如果响应头不包含 ETag 字段,则启用压缩

  • auth

    如果请求头包含 Authorization 字段,则启用压缩

  • any

    为所有代理请求启用压缩

gzip_types

-说明
语法gzip_types mime-type ...;
默认gzip_types text/html;
上下文http、server、location

除了 text/html 之外,还可以针对指定的 MIME 类型启用 gzip 响应。特殊值 * 匹配任何 MIME 类型(0.8.29)。对 text/html 类型的响应始终启用压缩。

gzip_vary

-说明
语法gzip_vary on | off;
默认gzip_vary off;
上下文http、server、location

如果指令 gzipgzip_staticgunzip 处于激活状态,则启用或禁用插入 Vary:Accept-Encoding 响应头字段。

内嵌变量

  • $gzip_ratio

    实现压缩比率,计算为原始压缩响应大小与压缩后响应大小之间的比率。

原文档

http://nginx.org/en/docs/http/ngx_http_gzip_module.html


ngx_http_gzip_static_module

ngx_http_gzip_static_module 模块允许发送以 .gz 结尾的预压缩文件替代普通文件。
该模块默认不会被构建到 nginx 中,需要在编译时加入 --with-http_gzip_static_module 配置参数启用。

配置示例

gzip_static on;
gzip_proxied expired no-cache no-store private auth;

指令

gzip_static

-说明
语法gzip_static on | off | always;
默认gzip_static off;
上下文http、server、location

开启(on)或禁用(off)会检查预压缩文件是否存在。下列指令也会被影响到 gzip_http_versongzip_proxiedgzip_disablegzip_vary

值为 always (1.3.6),在所有情况下都会使用压缩文件,不检查客户端是否支持。如果磁盘上没有未被压缩的文件或者 ngx_http_gunzip_module 模块被启用,这个参数非常有用。

文件可以使用gzip命令,或者任何兼容文件进行压缩。建议压缩文件和源文件的修改日期和时间保持一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值