gzip压缩 http server location
常用指令
- gzip动态指令
gizp on | off;
默认情况下关闭 gzip_buffers
gzip_buffers number size;
。用于设置Gzip压缩文件使用缓存空间的大小。number
:向系统申请换粗空间的个数,size
:指定每个缓存空间的大小,一般取系统内存页一页的大小; gzip_buffers 32 4K;
gzip_comp_level
: gzip_comp_level level
。设置gzip
压缩程度,包括1~9
级别,1最低,9最高,默认为1gzip_disable
:gzip_disable regex ...
根据不同的客户端请求选择性的开启或关闭gzip指令gzip_disable MSIE [4-6]\.
对IE4-6不开启gzip压缩gzip_http_version
gzip_http_version 1.0 | 1.1;
默认1.1
,只有http 1.1协议上的版本对数据进行压缩gzip_min_length
,控制压缩时的数据大小(数据量过小可能压缩后变大),默认20, gzip_min_length 1024
1kgzip_proxied
,在使用反向代理时有效,gzip_proxied off | expired | no-cache | private | no_last_modified | no_etag | auth | any ..
expired
当后端返回的头部带有expired字段时压缩
no-cache
当后端响应头部包含Cache-Control: no-cache
时启用压缩
no-store
当后端响应头部包含Cache-Control: no-store
时启用压缩
private
当后端响应头部包含Cache-Control: private
时启用压缩
no_last_modified
当后端响应头部未包含
Last_Modified
时压缩
no_etag
被请求变量的实体值etag
主要用于标记url资源是否被改变
auth
当后端服务器包含了用于标识Http授权证书Authorization
时压缩
any
无条件压缩gzip_types
根据响应的MIME
类型选择性的开启压缩 gzip_types text/html text/css text/plain application/x-javascript application/xml;
gzip_vary
用于设置在进行gzip压缩时是否发送带有Vary:Accept-Encoding
头域的响应头部;gzip_vary on | off;
- gizp_static 静态压缩,头部包含了
Content-Length
可使用静态压缩gzip_static on | off | always
gunzip_static off| on;
当客户端不支持压缩时,nginx会将压缩的响应数据解压响应给浏览器客户端
对21的虚拟主机设置gzip on;
对32的虚拟主机不设置,结果对比:
#10.8.177.21 header:
connection →keep-alive
content-encoding →gzip
content-type →text/html
date →Thu, 07 Sep 2017 06:29:17 GMT
etag →W/"59adf815-264"
last-modified →Tue, 05 Sep 2017 01:04:21 GMT
server →nginx/1.12.1
transfer-encoding →chunked
vary →Accept-Encoding
#10.8.177.32 header:
connection →keep-alive
content-length →597
content-type →text/html
date →Thu, 07 Sep 2017 06:29:42 GMT
server →nginx/1.12.1
www-authenticate →Basic realm="it`s auth test msg!"