如何正确实现“恢复下载”功能

时间:2018-11-07 23:26:00

标签: download wget resume

通常想知道wget(或实际上具有此功能的任何东西)如何实现“恢复下载”功能。也就是说,您的下载被中断,然后重新启动程序。它应该从中断处恢复,这样您就不必每次互联网中断时都从头开始。

不确定该实现的难易程度。想知道这通常是如何完成的。不必是wget的工作方式或详细操作方式。但是,有什么方法可以正确地做到这一点。想知道他们是否只是读取当前本地文件的大小,然后简单地发出范围请求。或者,也许他们必须将要下载的文件的大小保存/存储到一些元数据文件中(我在wget中看到了这些.listing文件,但不确定它们是什么,或者是否正在这样做)。 / p>

想知道是否需要on program exit钩子类型的东西,或者是否有更简单的方法可以做到这一点。我正在考虑如何在Node.js或浏览器中执行此操作,但是由于它很笼统,因此在该问题中无关紧要。

一些下载中断时间的示例:

  • 一台服务器在云中宕机,因此会自动生成一个新服务器,然后以某种方式挂接到请求中,并知道元数据以从上次中断的地方开始下载。
  • 用户的互联网连接断开,然后重新连接。
  • 服务器中发生错误,因此必须从中断处重新启动。
  • 用户刷新页面(该页面可能实际上无法工作)。
  • 这实际上不是从严格意义上的“下载”,而是从本地大量文件中读取内容,并且该程序以某种方式被中断。因此,可能最终应该可以正常工作。

再次,不一定非要知道如何处理所有这些情况/边缘情况,只是想知道有关如何处理的一般技术。

0 个答案:

没有答案