gzip + chunked:在解压缩之前必须等待整个文件的下载?

时间:2012-03-04 21:37:31

标签: http gzip chunked-encoding

我非常肯定答案,但我希望有人确认一下。

在HTTP标头中使用gzip时,无法解压缩文件的一部分。 我必须先下载整个文件才能解压缩以获取数据。

对吗?

例如,如果我得到前100个字节,其代码如下:

myfile.read(100)

此时我无法解压缩。

感谢。

2 个答案:

答案 0 :(得分:3)

您可以立即开始解压缩gzip流,无论您目前为何拥有多少数据。您将能够提取到目前为止可用的压缩数据中表示的所有未压缩字节。

您必须始终从头开始解压缩。所以你不能做的是在gzip流中间开始解压缩。如果要访问中间的数据,则需要将所有数据解压缩到该点。

答案 1 :(得分:1)

错误。 GZIP允许流式传输。您可能会将格式与ZIP存档格式混淆。