可恢复文件下载协议

时间:2011-07-29 11:21:33

标签: java http download

我打算编写一个应用程序服务器(RESTFull API)以允许客户端下载zip文件,但要求下载必须是可恢复的(由于故障/网络断开连接)。

是否有任何特殊协议?

如果是,请分享一些内容,我甚至无法在谷歌上找到任何东西。我想用Java(泽西岛)做这件事。谢谢

1 个答案:

答案 0 :(得分:8)

对于可恢复的下载,您无需了解特殊协议。 HTTP定义“Range”标头。客户端使用Range标头指定要下载的文件的哪些部分。

通过跟踪您下载的文件的哪些部分,以及是否被中断,从中断的地方恢复来实现可恢复的下载。

服务器端,您通常只需要关心所服务的资产是动态的还是静态的。

如果它是静态的,解决方案通常就像确保您的Web服务器(Apache或其他)打开Range标头并让客户端拥有它一样简单。

如果它是动态的,您必须检查传入HTTP请求中是否存在Range标头,然后确保您只提供资产的请求部分。还有一些需要考虑的其他事项,比如版本控制,缓存等等,我不会介绍,但希望你能得到这个想法。

希望有所帮助!