Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance gzip是一个实际的ZIP文件吗?_Performance_Gzip - Fatal编程技术网

Performance gzip是一个实际的ZIP文件吗?

Performance gzip是一个实际的ZIP文件吗?,performance,gzip,Performance,Gzip,gzip是否包含引用资产的存档,如外部JS、CSS和图像,还是只压缩一个文件 如果浏览器以前从未见过该站点,并且没有缓存任何内容,那么最好发送一个实际的ZIP文件,由浏览器解压。是这样做的吗 更新:该死的Gzip!为什么你不能解开一个真正的拉链 仅压缩一个文件。您需要将压缩(例如gz、bz2或xz)与存档格式(例如tar或cpio)相结合,以匹配ZIP的功能(因此.tar.gz文件) 浏览器通过管道传输多个请求,但不请求ZIP文件。浏览器确实依赖压缩 如果您想了解此主题,请查看正在解决的问题,以

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

如果浏览器以前从未见过该站点,并且没有缓存任何内容,那么最好发送一个实际的ZIP文件,由浏览器解压。是这样做的吗


更新:该死的Gzip!为什么你不能解开一个真正的拉链

仅压缩一个文件。您需要将压缩(例如
gz
bz2
xz
)与存档格式(例如
tar
cpio
)相结合,以匹配ZIP的功能(因此
.tar.gz
文件)

浏览器通过管道传输多个请求,但不请求ZIP文件。浏览器确实依赖压缩


如果您想了解此主题,请查看正在解决的问题,以便更好地了解
HTTP

的缺点,如果您是指web服务器到web浏览器的通信。Web服务器压缩响应,浏览器解压缩响应。但每个响应都将被压缩

因此,在web服务器到web浏览器的通信中,将不会有像多资产压缩这样的事情


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

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

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

第二,我还没有看到支持ZIP压缩的浏览器(尽管这是一个有趣的想法)。我见过的最接近的浏览器是,它包含一个页面的所有资产;反过来,它可以用任何算法进行压缩;同样,它也没有得到普遍支持


第三,通常的方法是分别对每个响应进行gzip压缩(无论是HTML、JS、CSS还是其他格式——请注意,常见的图像格式已经被压缩了,因此再次压缩它们不会带来明显的好处).

我明白了,但是浏览器不会解压gzip存档,对吗?这太棒了,谷歌正在处理它,但似乎gzip应该升级以解压存档,例如tar或其他东西。谢谢你提供的好信息。@Dathan:gzip应该升级,然后所有的浏览器都应该升级以支持它,所有的Web服务器都应该升级为了支持它,更不用说代理了。如果升级如此简单,我们在2011年就不会再有IE6问题了。(更不用说,与当前的HTTP/1.1相比,ZIP存档并没有带来任何显著的好处,而不是SPDY)明白了,谢谢。它仍然没有减少对链接资源的请求。那太糟糕了。@Dathan:有了HTTP keepalives和管道,这真的有关系吗?请求不必是单独的TCP连接,如果这是问题的话-服务器无论如何都会向客户端发送大量数据,只比单个资源低半个级别。@Piskvor我明白了,这回答了我的问题,gzip和keepalives是我一直在寻找的解决方案。你很有知识。谢谢你提供的信息!太棒了,谢谢,名字中有zip似乎用词不当,因为它通常被称为存档。@Dathan:嗯,不。zip首先是一种压缩算法,存档函数是某种东西是的,MHTML已经存在很长时间了,它是IE和WORD用来离线保存网页的格式。你可能是对的,我不确定它是否与ZIP存档相同。谢谢你提供的好信息。@Dathan:这根本不是同一个想法;但正如我在回答中提到的,MHTML是最接近多文件可压缩存档的(例如ZIP)这是我见过的在主流浏览器中实际实现的。最近的,不一样的。re“该死的Gzip!为什么你不能解压缩一个实际的ZIP?!”
ZIP
的法律地位在浏览器进行压缩时有些不清楚;
Gzip
是一个类似算法的免费实现,但不一样(因此,解压缩文件会产生无法使用的结果;您还可以问“为什么不能解压缩RAR归档文件?”)。