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
1 语法:gzip on|off 2 默认:gzip off 3 功能:开启或者关闭gzip功能
gzip_buffers
1 语法:gzip_buffers number size 2 默认:gzip_buffers 32 4k | 16 8k 3 功能:置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。32 4k代表以4k为单位,安装原始数据大小以4k为单位的32倍申请内存。
gzip_comp_level
1 语法:gzip_comp_level level 2 默认:gzip_comp_level 1 3 功能:设置gzip的压缩级别,取值[1-9],数值越大压缩率越高,压缩时消耗的资源越多,通常合理取值是4-6。
gzip_disable
1 语法:gzip_disable regex; 2 默认:- 3 功能:将"User-Agent"请求头进行正则匹配,满足regex正则的请求对其响应时不启用gzip压缩,通常用来去除ie6等对gzip压缩支持不是很好的浏览器的gzip压缩
gzip_http_version
1 语法:gzip_http_version 1.0|1.1 2 默认:gzip_http_version 1.1; 3 功能:仅对指定版本的http请求的响应进行压缩,通常取值1.1
gzip_min_length
1 语法:gzip_min_length length 2 默认:gzip_min_length 20; 3 功能:启用gizp压缩的响应临界值大小,仅与响应头的"Content-Length"的值进行比较,只有大于gzip_min_length的响应才会进行压缩,比较合理的值是1000
gzip_proxied
1 语法:gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any 2 默认:gzip_proxied off; 3 功能:根据请求和响应,启用或禁用压缩代理请求的响应。
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
1 语法:gzip_types mime-type 2 默认:gzip_types text/html; 3 功能:指定需要压缩的响应内容类型,例如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"响应头
原文章:http://blog.lifw.org/post/57102556