vlambda博客
学习文章列表

Nginx静态代理3-页面压缩

1.  浏览器常见的压缩协议

浏览器中最常见的压缩算法有:

l deflate:是一种过时的压缩算法,是huffman编码的一种加强。

l gzip:是目前大多数浏览器都支持的一种压缩算法,是对deflate的改进。

l sdch:谷歌开发的一种压缩算法,一种全新的压缩思路。deflategzip的的压缩思想是,修改传输数据的编码格式以达到减少体量的目的,其最终传输的数据并没有减少。而sdch压缩算法的思想是,让冗余的数据仅出现一次,其最终传输的数据减少了。

l Zopfli:谷歌开发的一种压缩算法,Deflate 压缩算法的改进。比标准的gzip-9要小 3%-8%,但压缩用时是gzip -980多倍。

l br:即Brotli,谷歌开发的一种压缩算法,是一种全新的数据格式。与Zopfli相比,压缩率能够降低20%-26%Brotli -1有着与Gzip -9相近的压缩比和更快的压缩解压速度


2.  常用设置


2.1.  gzip on;

开启gzip压缩,默认为off

 

2.2.  gzip_min_length 5k;

指定最小启用压缩的文件大小

 

2.3.  gzip_comp_level 4;

指定压缩级别,取值为1-9,数字越大,压缩比越高,但压缩所用时间会越长。默认为1,建议使用4

 

2.4.  gzip_buffers 4 16k;

“4”表示的是缓存颗粒数量,而“16k”表示的是缓存颗粒大小

 

2.5.  gzip_vary on;

开启动态压缩。默认值off

 

2.6.  gzip_types mimeType;

通过MIME类型来指定要压缩的文件类型。默认值text/html