我该如何通过http正确更新gzip压缩文件?

时间:2017-05-29 22:58:35

标签: http gzip tar

我正在编写一个小实用程序,它从Web(https://hackage.haskell.org/01-index.tar.gz)解析gzip压缩增量存档。有关此存档(大小和散列)的信息存储在json快照文件(https://hackage.haskell.org/snapshot.json)中。我的磁盘上有存档副本。归档更新程序在后台运行并检查snapshot.json。如果服务器上的存档已更新,程序将使用范围请求通过http下载存档的一部分。 不幸的是,我遇到了以下问题 - 这里有两个档案,一个比另一个有点旧 -

-rw-r--r--  1 borboss  staff  59074415 30 май 00:42 01-index.tar.gz
-rw-r--r--  1 borboss  staff  59073328 30 май 00:30 01-index.tar.gz.orig

据我所知,01-index.tar.gz.orig(较旧版本)的内容应与01-index.tar.gz档案的开头相同。但分析表明,他们在59066629号位置开始有所不同。 因此,我必须在归档结束时减少几千字节,然后使用范围请求进行更新。

我应该多少千字节来切断存档的末尾才能正确更新?或者当然我可以删除存档的结尾,更新它,而不是通过snapshot.json检查md5哈希并重复此过程以增加字节数来削减,如果md5哈希不匹配,但在我看来它是一个相当肮脏的黑客。

0 个答案:

没有答案