为什么在使用http gzip压缩后png大小不会改变

时间:2012-07-02 07:28:51

标签: apache .htaccess gzip deflate http-compression

我使用以下.htaccess来设置gzip压缩:

AddOutputFilterByType DEFLATE text/html image/png image/jpeg text/css text/javascript

请检查此网址:http://www.coinex.com/cn/silver_panda/proof/china_1984_27_gram_silver_panda_coin/

gzip压缩适用于html,css,js和jpg,但不适用于png(非常棒......)

4 个答案:

答案 0 :(得分:29)

PNG已经是一种压缩数据格式。用GZIP压缩它不太可能减小尺寸,实际上可以使它更大。

我很惊讶你看到GZIP-JPG的好处,因为它们也被压缩了。

有关Google使用GZIP的提示,请参阅here。他们建议不要将其应用于图像。

答案 1 :(得分:12)

PNG图像格式已在内部使用deflate压缩。因此,通过使用HTTP压缩,您通常不会看到传输大小明显减少。因此,您应该从您提到的列表中删除image / png,以避免在冗余压缩步骤中浪费服务器和客户端的CPU周期。

答案 2 :(得分:7)

如果您想缩小PNG,请使用https://tinypng.com/ 或其他png优化器。是的,它也完全支持alpha通道。

答案 3 :(得分:6)

PNG是一种无损图像压缩格式。基本上它使用空间压缩来完全保留原始图像质量。它不能在不损失质量的情况下进一步压缩(您需要使用另一种无损格式来查看它是否更好)。

不需要使用GZIP(或等效的),因为它只会为客户端的图像解压缩添加处理。

对于JPEG,您可以做的最好的事情是确保使用正确的分辨率和质量设置。 GZIP最好产生混合结果。确保从中删除所有元数据(除非您需要那些信息客户端,但最好将这些数据保存在数据库中)。