您的位置:首页 > 运维架构 > Nginx

网页压缩传输

2019-07-10 18:20 1886 查看

gzip是一种压缩技术,通过gzip对网页进行压缩,可以削减网页的大小,让用户浏览网页的速度得到提高(需要服务器进行压缩,浏览器进行解压),当然,启用gzip压缩技术会占用nginx服务器的cpu资源,可能会导致nginx同时处理请求的响应能力下降,需要根据实际情况判断是否开启此项功能。下面记录下该网页压缩技术在nginx中的应用:
1、gzip模块相关配置指令

指令 说明
gzip 用于开启或关闭gzip模块
gzip_buffers 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流
gzip_comp_level gzip压缩比,级别为1~9,压缩级别越高压缩率越大,压缩时间越长
gzip_disable 指定User-Agent,对该User-Agent不使用压缩功能
gzip_min_length 设置允许压缩的页面最小字节数(Content-Length)
gzip_http_version 识别http协议版本,默认1.1
gzip_proxied 启用或者禁用从代理服务器上收到响应内容的gzip压缩功能
gzip_types 匹配MIME类型进行压缩(无论是否指定,text/html总是会被压缩)
gzip_vary 用于在响应消息头中添加vary:Accept_Encoding,使代理服务器根据请求头中的Accept-Encoding识别是否启用gzip压缩

下面修改nginx.conf的http配置块,开启gzip压缩:

http {
...
gzip  on;
gzip_comp_level 4;
#IE6下开启压缩会导致页面假死,这里不启用
gzip_disable "MSIE [1-6].";
...
}

修改后平滑重启,访问nginx服务器,可以看到下面的下面的响应头,即正确开启了压缩:

2、gzip_proxied常用参数

指令 说明
any 无条件压缩所有数据
off 关闭反向代理的压缩
expired 如果响应消息头中含Expired,启用压缩
no-cache 如果响应消息头中含Cache-Control:no-cache,启用压缩
no-store 如果响应消息头中含Cache-Control:no-store,启用压缩
private 如果响应消息头中含Cache-Control:private,启用压缩
auth 如果响应消息头中含Authorization头信息,启用压缩
no_last_modified 如果响应消息头不含Last-Modified,启用压缩
no_etag 如果响应消息头不含ETag,启用压缩
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Nginx