gzip模块是我们在nginx里面经常用到的,压缩响应的数据,这通常有助于将传输数据的大小减少一半甚至更多。可以让我们访问网站更为流畅。
SyntaxDefault
Contextgzip 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
配置示例:
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