Nginx之gzip模块
一、Gzip模块简介
ngx_http_gzip_module模块是使用“ gzip”方法压缩响应的过滤器。有助于数据的传输。
二、示例配置
location /{
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_types text/plain application/json application/javascript application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;}
三、相应选项的介绍
1.gzip
启用或禁用响应的压缩。
语法: gzip on | off;
默认: gzip off;
配置的位置: http,server,location
2.gzip_buffers
设置用于压缩响应的number和size的缓冲区。默认情况下,缓冲区大小等于一个内存页。
语法: gzip_buffers number size;
默认: gzip_buffers 32 4k | 16 8k;
配置的位置: http,server,location
3.gzip_comp_level
设置level响应的gzip压缩。可接受的值范围是1到9。建议值为3-4!
语法: gzip_comp_level level;
默认: gzip_comp_level 1;
配置的位置: http,server,location
4.gzip_http_version
设置压缩响应所需的最低HTTP版本请求。
语法: gzip_http_version 1.0 | 1.1;
默认: gzip_http_version 1.1;
配置的位置: http,server,location
5.gzip_min_length
设置将被压缩的响应的最小长度。长度仅有“ Content-Length”响应头字段确定。
语法: gzip_min_length length;
默认: gzip_min_length 20;
配置的位置: http,server,location
6.gzip_proxied
根据请求和响应为代理请求启用或禁用响应的压缩。请求被代理的事实由“ Via”请求标头字段的存在来确定。
语法: gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
默认: gzip_proxied off;
配置的位置: http,server,location
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:如果请求标头包含“授权”字段,则启用压缩;
any:为所有代理请求启用压缩。
7.gzip_type
特殊值“ *”与任何MIME类型(0.8.29)匹配。
语法: gzip_types mime-type ...;
默认: zip_types text / html;
配置的位置: http,server,location