经常有人在群里问到,图片到底需不需要启用GZip压缩?我不止一次的回答说,图片是不需要启用GZip压缩的。今天,我把此问题写作成文,给大家分析一下为什么图片不需要启用GZip压缩。
图片启用GZip压缩会适得其反
一些开发者使用HTTP压缩那些已经本地已经压缩过的文件,而这些已经压缩过的文件再次被GZip压缩时,是不能提高性能的,表现在如下两个方面。
首先,HTTP压缩需要成本。Web服务器获得需要的内容,然后压缩它,最后将它发送到客户端。如果内容不能被进一步压缩,你只是在浪费CPU做无意义的任务。
其次,采用HTTP压缩已经被过压缩的东西并不能使它更小。事实上,添加标头,压缩字典,并校验响应体实际上使它变得更大,如下图所示:
HTTP压缩过程
你的网站实际上是这样做的吗?是的,它比你想象的更常见。
PNG图片启用GZip压缩的后果
下面这张是启用GZip压缩的PNG图片,看看它的标头信息:
PNG图片启用GZip压缩的后果
不仅浪费了CPU,还增大了图片的体积,之前也写过一篇文章详细分析了《图片GZip压缩后体积变大》,这里再看看图片被GZip压缩的后果:
GZip图片增大了体积
用一句话来结论,那就是图片启用GZip压缩,不仅浪费了CPU,还增大了体积,势必影响服务器性能,影响网站速度。图片要启用gzip压缩吗?绝对不要!
您可能对如下文章也感兴趣
☉deflate——过时的网页压缩格式,最好禁用 (2015-2-10 5:4:34)
☉Nginx启用Gzip压缩js无效的原因 (2014-9-12 17:40:16)
☉bmp图片使用GZip压缩率竟高达98.83% (2014-6-10 16:39:55)
☉gzip压缩启动后js css不能运行的解决方法 (2013-9-2 21:53:36)
☉图片GZip压缩后体积竟然变大了 (2013-7-19 11:44:6)
☉IIS启用GZip失败之原因:临时目录权限没设好 (2013-7-7 15:25:59)
☉IIS启用GZIP压缩css、js无效的原因及解决方法 (2013-7-6 14:7:23)
☉IIS启用GZip压缩的详细教程【图解】 (2013-7-4 17:21:11)
☉网站启用GZip压缩后,速度快了3倍! (2012-7-12 18:36:0)
Kaka 于 2015-4-7 21:06:13 回复网站开启GZip,默认只有HTML文件启用了GZip,其他文件如JS、CSS、XML等文件需要手动添加上去才行。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。