美文网首页
Nginx gzip压缩提升网站速度

Nginx gzip压缩提升网站速度

作者: 杍劼 | 来源:发表于2016-04-18 12:52 被阅读179次

一、观察Http响应:

Http请求:

Accept-Encoding:gzip,deflate,sdch

Http响应:

Content-Encoding:gzip

Content-Length:65016

再把页面另存下来,文件大小约271,544字节,实际传输的65016字节 ,原因就在于gzip压缩上

原理:

1.浏览器->请求->声明可以接受的压缩技术:gzip压缩或deflate压缩或compress或sdch压缩

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

2.服务器->回应(把内容用gzip方式压缩)->发给浏览器

3.浏览器接收gzip压缩内容->解码gzip->返回原数据内容

作用:利用压缩技术可以大幅度地节省带宽

二、Nginx配置gzip:

gzip配置的常用参数 :

gzip on|off                                             #是否开启gzip

gzip_buffers 32 4K| 16 8K                       #缓冲(压缩在内存中缓冲几块? 每块多大?)

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/html  application/xml    #对哪些类型的文件采用压缩,如html、css(文件类型对应关系查看conf/mime.types)

gzip_vary on|off                                     #是否传输gzip压缩标志

注意,以下几种文件不必压缩:

1.图片/mp3这样的二进制文件压缩比太小,不必压缩

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

3.比较小的文件不必压缩

实例:

gzip on;

gzip_buffers 32 4k;

gzip_com_level 6;

gzip_min_length 4000;

gzip_type text/css text/xmlapplication/javascript;

相关文章

网友评论

      本文标题:Nginx gzip压缩提升网站速度

      本文链接:https://www.haomeiwen.com/subject/xghalttx.html