Comment by ant6n

1 day ago

That’s like trickery anno 2002. How come this hasn’t been solved in the last decades?

I remember this was one of the killer features of Netscape! It was a browser with resume built in! Pretty funny, considering Firefox is a descendant of that browser.

I've been using FreeDownloadManager in Windows for over a decade. So it's been solved just no one cares I guess?

  • I used to use GetRight to download big files over FTP or HTTP, over dialup. You could set it up to automatically re-dial your ISP if you got disconnected halfway through a download. And you could download a file in multiple "threads" - for example, get 2 concurrent HTTP sessions downloading the same file, one thread starting from the start and a second thread starting halfway through the file.

    GetRight did all this in 1997.

I think it's because there isn't a robust way to ensure a file is only downloaded once when you have special cases like interrupted transfers and/or range requests.

It was solved long, long ago. You used a download manager, often a browser plugin. They were easy to find.

They're not easy to find now because the demand for resuming an interrupted download dried up.

How would you solve it?

  • This trick means that there is a check when you resume a download compared to when you start one. Introduce that check to when a download is started.

    • The situation AFAICT is something like this: the server mints unique download URLs which can only be used once. This is generally so they can't be shared. It serves the URL to the first comer and when that connection drops (maybe with some timeout) subsequent requests to that URL produce 410 Gone. So if your download fails halfway through, you can't re-request the same URL with a Range, which is how normal resumption works. You need to get a new one-time URL minted and download that.

      So from the browser's perspective, these are two distinct, unrelated URLs. There isn't a mechanism where it can know they are backed by the same file.

      This browser behavior seems pretty reasonable. I'd try fixing it by doing something different on the server.

  • integrating the functionality of a download manager, the kind of software that's been around since longer than 2002.

Mozilla has been working on rounding corners. Only nerds use the internet for downloads so it is not their main audience. /s