1、浏览器常见的压缩协议
    浏览器中最常见的压缩算法有:

    • deflate:是一种过时的压缩算法,是 huffman 编码的一种加强。
    • gzip:是目前大多数浏览器都支持的一种压缩算法,是对 deflate 的改进。
    • sdch:谷歌开发的一种压缩算法,一种全新的压缩思路。deflate 与 gzip 的的压缩思想是,修改传输数据的编码格式以达到减少体量的目的,其最终传输的数据并没有减少。而sdch 压缩算法的思想是,让冗余的数据仅出现一次,其最终传输的数据减少了。
    • Zopfli:谷歌开发的一种压缩算法,Deflate 压缩算法的改进。比标准的gzip -9要小 3%-8%,但压缩用时是 gzip -9 的 80 多倍。
    • br:即 Brotli,谷歌开发的一种压缩算法,是一种全新的数据格式。与 Zopfli 相比,压缩率能够降低 20%-26%。Brotli -1 有着与 Gzip -9 相近的压缩比和更快的压缩解压速度。

    2、常用设置
    1)gzip on
    开启 gzip 压缩,默认为 off。
    2)gzip_min_length 5k;
    指定最小启用压缩的文件大小。
    3) gzip_comp_level 4;
    指定压缩级别,取值为 1-9,数字越大,压缩比越高,但压缩所用时间会越长。默认为1,建议使用 4。
    4) gzip_buffers 4 16k;
    “4”表示的是缓存颗粒数量,而“16k”表示的是缓存颗粒大小。
    5) gzip_vary on;
    开启动态压缩。默认值 off。
    6) gzip_types mimeType;
    image.png
    通过 MIME 类型来指定要压缩的文件类型。默认值 text/html。对于nginx所支持的mime类型,可以通过与nginx.conf同目录的mime.type文件查看。