Nginx系列笔记-压缩与缓存

    本章章节:

       Nginx  gzip压缩详解;

       Nginx expires 缓存详解;

   gzip是GNUzip的缩写了,它的主要作用就是用来减轻服务器的带宽问题了,如一个100KB的文件如果开启gzip之后可以变成20KB左右;

   我们观察http://www.kaola.com/ 的头信息

 blob.png

 blob.png

 

 原理:

     浏览器—请求—-> 声明可以接受 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 #缓冲(压缩在内存中缓冲几块? 每块多大?)

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

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

 

 配置案例:

           gzip                on;     

           gzip_min_length    200;     

           gzip_buffers     4 16k;  

           gzip_http_version  1.0;     

           gzip_comp_level      6;

           gzip_types  application/javascript text/css;

           gzip_disable "MSIE [1-6].";

注意:

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

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

   比较小的文件不必压缩,


资料:Nginx 开启Gzip压缩的方法

nginx expires

     对于网站的图片,尤其是新闻站, 图片一旦发布, 改动的可能是非常小的.我们希望 能否在用户访问一次后, 图片缓存在用户的浏览器端,且时间比较长的缓存.可以, 用到 nginx的expires设置 ,您也可以通过代码过滤进行压缩处理(不建议)

    在了解Nginx  expires 原理之前,可以先了解浏览器的缓存原理,这里推荐一篇好文,可以精心拜读一下:  浏览器缓存知识小结及应用 ;

    nginx中设置过期时间,非常简单,在location或if段里,来写.

   格式  expires 30s;

           expires 30m;

           expires 2h;

           expires 30d;

     (注意:服务器的日期要准确,如果服务器的日期落后于实际日期,可能导致缓存失效)

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|apk|tar.gz)$

           {

                   expires      30d;

           }

          

           location ~ .*\.(js|css)?$

           {

                   expires      12h;

}

blob.png

   Expires 2016-12-5 星期一;

   Last-Modified 2016-11-5 星期五;

   nginx配置expires,nginx expires页面缓存时间设置

发表评论