压缩

对输出到客户端的内容进行压缩,以减小传输文件体积,减少对网络带宽的占用。

服务器端要压缩,客户端必须解压缩,这都将占用cpu时间。

不过,由于传输内容减小了,传输过程中,各网卡、路由器、交换机对数据包的处理时间也会缩短。

gzip压缩是就在这里赢得了时间。

必须满足以下几个条件:

1、客户端发送的HTTP报头必须含有 “Accept-Encoding” 字段,且其值包含 “gzip” 这个压缩类型。

一般浏览器都会发 “Accept-Encoding:gzip, deflate, sdch” 这样的报头。

2、服务器启用了gzip压缩,那么响应头会包含 Content-Encoding:gzip,

客户端根据这个来判断服务器返回的内容是否真正为gzip压缩过的内容。

gzip压缩对文本文件压缩效果非常好(40%~80%),而对图片文件效果甚微。
实际应用中可以考虑对js、html、css格式的文件开启gzip压缩。

压缩的原因:带宽资源很贵

— /html/js/css压缩,/images不压缩

过程:nginx压缩 —-》网络传输 —》chrome解压(压缩和解压消耗cpu)

1、浏览器携带支持的解压方式

2、浏览器与nginx的交互

![image-20210223074912379](2021-02-23 03-压缩.assets/image-20210223074912379.png)

nginx配置

![image-20210223075004625](2021-02-23 03-压缩.assets/image-20210223075004625.png)