gzip是一个真正的ZIP文件吗?

时间:2011-10-12 05:47:34

标签: performance gzip

gzip是否包含引用资产的存档,例如外部JS,CSS和图像,还是只压缩一个文件?

如果浏览器以前从未见过该网站并且没有缓存任何内容,那么发送浏览器解压缩的实际ZIP文件似乎是个好主意。这是怎么做的?

更新:该死你Gzip!为什么你不能解压缩一个真正的ZIP?!

4 个答案:

答案 0 :(得分:3)

仅压缩一个文件。您需要将压缩(例如gzbz2xz)与归档格式(例如tarcpio)相结合,以匹配ZIP的功能(因此{ {1}}文件)。

浏览器管道多个请求,它们不请求ZIP文件。浏览器确实依赖于压缩。

如果您想了解此主题,请查看SPDY正在解决的问题,以便更好地了解.tar.gz的缺点。

答案 1 :(得分:2)

如果您指的是Web服务器与Web浏览器的通信。 Web服务器压缩响应,浏览器对其进行解压缩。但每个响应都将被压缩。

因此,在网络服务器到网络浏览器的通信中,不会出现像多资产压缩那样的事情。

在更一般的情况下:GZIP仅压缩“单个文件”。如果要通过gzip压缩多个文件,则需要首先以归档格式封装它们。

答案 2 :(得分:2)

首先,gzip是一种压缩算法,所以它只压缩给定的数据(不必是文件,任何字符串都可以用gzip压缩),它不会将多个资源存档在一起(而不是ZIP) ,它同时进行归档和压缩,并对文件进行操作。)

其次,我还没有看到支持ZIP压缩的浏览器(虽然这是一个有趣的想法)。我见过的最接近的是MHTML archive,其中包含一页的所有资产;反过来,可以用任何算法压缩;再次,它没有得到普遍支持。

第三,通常的方法是分别对每个响应进行gzip压缩(无论是HTML,JS,CSS还是其他 - 请注意,常见的图像格式已经被压缩,因此再次压缩它们不会带来可衡量的好处。)< / p>

答案 3 :(得分:1)

Gzip不是像zip那样的容器格式,它只是用于压缩单个文件。 Gzip结合tar用于创建压缩目录,如zip格式。