二、大众的参数配置如下:
#开启gzip压缩
gzip on;
#http的协议版本
gzip_http_version 1.0;
#IE版本1-6不支持gzip压缩,关闭
gzip_disable 'MSIE[1-6].';
#需要压缩的文件格式 text/html默认会压缩,不用添加
gzip_types text/css text/javascript application/javascript image/jpeg image/png image/gif;
#设置压缩缓冲区大小,此处设置为4个8K内存作为压缩结果流缓存
gzip_buffers 4 8k;
#压缩文件最小大小
gzip_min_length 1k;
#压缩级别1-9
gzip_comp_level 9;
#给响应头加个vary,告知客户端能否缓存
gzip_vary on;
#反向代理时使用
gzip_proxied off;
三、检测效果
1.压缩前(测试图片大小为1.89MB,将gzip_min_length设置为2000K不压缩):
2.压缩后:
看不出来压缩后的传输数据变小了,再比较一下(服务器上原图片,客户端压缩前,客户端压缩后)文件大小:
可以看出,无论压缩与否,最终接收解析出的文件大小不变;那我们再用网页在线gzip检测工具测试下过程,结果如下:
找了下网上的资源,这个图片感觉比较直观:
四、结论:使用gzip去压缩图片时,因为图片本身已经是被压缩过了,所以再使用GZIP去压缩,反而在其中增添了校验的字节、增大的图片体积,适得其反,不仅无法降低传输大小,还浪费了服务器和客户端的CPU资源去做这个处理。
五、补充:其他类型文件压缩测试:html、js、css
1.压缩前
2.压缩后