为什么要进行压缩

web服务器将组成网页的文件进行gzip压缩后再传输给浏览器,浏览器获取到压缩文件后进行解压并解析展示网页内容。原本的资源只在传输过程中进行压缩,既节约了带宽,同时也提升了页面的浏览速率。在实际工作中,网页压缩使用的比较多,这里就简单的记录下nginx服务器下Gzip的配置


nginx的Gzip压缩配置

作为一款强大的web服务器,nginx当然也支持Gzip压缩。

编辑配置文件(核心命令参数)

# 开启gzip功能
gzip on;

# 配置nginx使用缓存空间的大小:16指的是缓存空间的个数,8K为单个缓存空间的大小
# 从nginx0.7.28后,默认缓存空间大小为128k:这里是16*8K=128K
gzip_buffers 16 8K;

# 指定压缩级别:1-9;1压缩程度最低,效率最高,9压缩程度最高,效率最低
gzip_comp_level 3;

# 针对某些User_agent关闭gzip功能,后接的是正则表达式
# 这里以MSIE 4/5/6的浏览器为例开启gzip功能
gzip_disable MISE [4-6]\.;

# 指定特定http协议版本(1.0或1.1),选择性开启gzip功能
gzip_http_version 1.1;

# 根据响应页面的大小选择性关闭gzip(比较重要),大于才开启
# 防止出现压缩很小的数据出现压缩后数据量变大的情况,建议设置为1K或以上
gzip_min_length 1024;

# 根据网页的MIME类型选择性改期gzip
gzip_types text/plain application/x-javascript text/css text/html application/xml;

# 使用gzip时是否发送带有“Vary:Accept-Encoding”头域的响应头部
gzip vary on;


# 在客户端不支持Gzip压缩时,服务器将返回解压后的数据;客户端支持gzip,该参数被忽略,返回的是压缩后的数据
gunzip_static on;

gunzip_static命令参数由ngx_http_gunzip_module命令进行处理,该参数的使用需要在编译时添加--with-http_gunzip_module。