当前位置:首页 >> 服务器

Nginx启用GZIP压缩网页传输方法(推荐)

原理:

浏览器—请求—-> 声明可以接受 gzip压缩 或 deflate压缩 或compress 或 sdch压缩

从http协议的角度看–请求头 声明 acceopt-encoding: gzip deflate sdch (是指压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器尚不多)

服务器–>回应—把内容用gzip方式压缩—->发给浏览器

浏览<—–解码gzip—–接收gzip压缩内容—-

gzip配置的常用参数

参数 含义 gzip on/off 是否开启gzip gzip_buffers 32 4K / 16 8K 缓冲(压缩在内存中缓冲几块"box-sizing: border-box; font-size: 14px; border-top: 0px; border-right: 0px; vertical-align: baseline; background: none transparent scroll repeat 0% 0%; border-bottom: 0px; outline-width: 0px; padding-bottom: 0px; padding-top: 0px; outline-style: none; padding-left: 0px; margin: 0px; border-left: 0px; outline-color: invert; padding-right: 0px"> gzip_comp_level [1-9] 推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源) gzip_disable 正则匹配UA 什么样的Uri不进行gzip gzip_min_length 200 开始压缩的最小长度(再小就不要压缩了,意义不大) gzip_http_version 1.0/1.1 开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议) gzip_proxied 设置请求者代理服务器,该如何缓存内容 gzip_types text/plain application/xml 对哪些类型的文件用压缩 如txt,xml,html ,css 文件类型查看conf/mime.types文件 gzip_vary on/off 是否传输gzip压缩标志

注意:

图片/mp3这样的二进制文件,不必压缩

因为压缩率比较小, 比如100->80字节,而且压缩也是耗费CPU资源的.

比较小的文件不必压缩,

例子:

server {
listen 80; #监听端口
server_name localohst; #监听域名
gzip on; #开启gizip
gzip_buffers 32 4K;#压缩在内存中缓冲32块 每块4K
gzip_comp_level 6 ;#压缩级别 推荐6
gzip_min_length 4000;#开始压缩的最小长度4bit
gzip_types text/css text/xml apploation/x-javascript;#只对CSS、XML、JS文件进行压缩。 默认压缩text/html 不需要指定,否则报错
location / {
root /var/www/a.com; #根目录定位
index index.html;
}
}

以上所述是小编给大家介绍的Nginx启用GZIP压缩网页传输方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!