压缩模块(ngx_http_gzip_module)
压缩使用示例
1 2 3 4 5 6 7 8 |
gzip on; gzip_buffers 4 16k; gzip_min_length 1000; gzip_comp_level 6; gzip_http_version 1.1; gzip_proxied expired no-cache no-store private auth; gzip_types text/p1ain app1ication/x-javascript text/css app1ication/xml; gzip_vary on; |
1)gzip
1 2 3 |
Syntax: gzip on | off; Default:gzip off; Context:http, server, location, if in location |
是否启用压缩功能,gzip (GNU-ZIP) 是一种压缩技术。经过 gzip 压缩后页面大小可以变为原来的 30% 甚至更小。 这样,用户浏览页面的时候速度会快得多。 gzip 的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为 IE、 Firefox 、Opera 、Chrome 等绝大多数浏览器都支持解析 gzip 过的页面。但是在安装时必须要编译了此模块。
2)gzip_buffers
1 2 3 |
Syntax: gzip_buffers number size; Default:gzip_buffers 32 4k|16 8k; Context:http, server, location |
设置用于压缩响应缓冲区的大小和数目。默认情况下,缓冲区大小等于一个内存页。这是 4k 或 8k,取决于平台。
3)gzip_comp_level
1 2 3 |
Syntax: gzip_comp_level level; Default:gzip_comp_level 1; Context:http, server, location |
用于设置 gzip 压缩的级别,可接受值的范围从 1 到 9,级别越高,压缩比大,同时 CPU 占用也越多。
4)gzip_min_length
1 2 3 |
Syntax: gzip_min_length length; Default:gzip_min_length 20; Context:http, server, location |
可以设置将压缩的最小长度,响应报文小于这个长度将不进行压缩,长度从“Content-Length”响应标头字段采集。
5)gzip_http_version
1 2 3 |
Syntax: gzip_http_version 1.0 | 1.1; Default:gzip_http_version 1.1; Context:http, server, location |
设置最低需求的 HTTP 版本压缩响应请求。
6)gzip_types
1 2 3 |
Syntax: gzip_types mime-type ...; Default:gzip_types text/html; Context:http, server, location |
使 gzip 指定压缩的 MIME 类型,除了 “text/html” 的响应。特殊值 “*” 匹配任何 MIME 类型 (0.8.29)。与 “text/html” 类型的反应总是被压缩。
7)gzip_disable
1 2 3 |
Syntax: gzip_disable regex ...; Default:— Context:http, server, location |
根据”用户代理”头部字段,可以匹配指定的正则表达式,明确禁用匹配到的不进行 gzip 压缩响应。
8)gzip_proxied
1 2 3 |
Syntax: gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...; Default:gzip_proxied off; Context:http, server, location |