共计 2442 个字符,预计需要花费 7 分钟才能阅读完成。
gzip 模块是我们在 nginx 里面经常用到的,压缩响应的数据,这通常有助于将传输数据的大小减少一半甚至更多。可以让我们访问网站更为流畅。
Syntax | Default | Context |
gzip on | off; | gzip off; | http, server, location, if in location |
gzip_buffers number size; | gzip_buffers 32 4k|16 8k; | http, server, location |
gzip_comp_level level; | gzip_comp_level 1; | http, server, location |
gzip_disable regex …; | — | http, server, location |
gzip_http_version 1.0 | 1.1; | gzip_http_version 1.1; | http, server, location |
gzip_min_length length; | gzip_min_length 20; | http, server, location |
gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any | gzip_proxied off; | http, server, location |
gzip_types mime-type …; | gzip_types text/html; | http, server, location |
gzip_vary on | off; | gzip_vary off; | http, server, location |
官方链接:http://nginx.org/en/docs/http/ngx_http_gzip_module.html
配置示例:
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_disable “MSIE [4-6]\.”
gzip_min_length 1000;
gzip_http_version 1.1;
gzip_proxied any;
gzip_types text/plain text/css application/xml application/javascript application/json;
gzip_vary on;
gzip
语法:gzip on|off
默认:gzip off
功能:开启或者关闭 gzip 功能
gzip_buffers
语法:gzip_buffers number size
默认:gzip_buffers 32 4k | 16 8k
功能:置系统获取几个单位的缓存用于存储 gzip 的压缩结果数据流。32 4k 代表以 4k 为单位,安装原始数据大小以 4k 为单位的 32 倍申请内存。
gzip_comp_level
语法:gzip_comp_level level
默认:gzip_comp_level 1
功能:设置 gzip 的压缩级别,取值 [1-9],数值越大压缩率越高,压缩时消耗的资源越多,通常合理取值是 4 -6。
gzip_disable
语法:gzip_disable regex;
默认:-
功能:将 ”User-Agent” 请求头进行正则匹配,满足 regex 正则的请求对其响应时不启用 gzip 压缩,通常用来去除 ie6 等对 gzip 压缩支持不是很好的浏览器的 gzip 压缩
gzip_http_version
语法:gzip_http_version 1.0|1.1
默认:gzip_http_version 1.1;
功能:仅对指定版本的 http 请求的响应进行压缩,通常取值 1.1
gzip_min_length
语法:gzip_min_length length
默认:gzip_min_length 20;
功能:启用 gizp 压缩的响应临界值大小,仅与响应头的 ”Content-Length” 的值进行比较,只有大于 gzip_min_length 的响应才会进行压缩,比较合理的值是 1000
gzip_proxied
语法:gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any
默认:gzip_proxied off;
功能:根据请求和响应,启用或禁用压缩代理请求的响应。
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;
功能:指定需要压缩的响应内容类型,例如 text/css application/javascript application/json application/xml 分别表示对 css js json xml 进行压缩,多个用空格分开,* 表示所有。注意:text/html 类型总会被压缩,不需要显式的指定
gzip_vary
语法:gzip_vary on|off
默认:gzip_vary off;
功能:表示是否添加 ”Vary: Accept-Encoding” 响应头
: