I wrote a test using fetch() that seems to suggest we don't re-use
in-progress requests at the http cache level.

(Note, this downloads about 200MB... don't click on your mobile.)

https://people.mozilla.org/~bkelly/fetch/http-cache/

On Wed, Sep 7, 2016 at 1:45 PM, Andrew Sutherland <
[email protected]> wrote:

> There's a proposal at https://github.com/jakearchibald/background-cache
> for enabling persistently-tracked uploads/downloads in the background.  It
> might change names to background-fetch.
>
> I'm interested in getting some informed feedback about the following
> use-case on https://github.com/jakearchibald/background-cache/issues/3
>
> A motivating use-case is for a site that wants to download movies/podcasts
> in the background and keep them around for offline purposes.  Once the file
> is downloaded, it seems clear that the (ServiceWorker [DOM]) Cache API[1]
> is a great place to store the result.  What's less clear is how best to
> handle allowing the user to begin watching the movie when the download is
> still in-progress.  A potential straw-man is:
>
> * Start the download with background-fetch
> * Use the background-fetch API to track the status of the download.  When
> there's "enough" downloaded, start playing the video via its online URL
> with the confidence that the netwerk cache2 can unify the two requests as
> much as possible.
> * When the download completes, stick the movie in the DOM Cache API and
> use Cache-furnished Responses for all future playback requests.
>
> The greatest concern right now is around range requests and redundantly
> downloaded data.  We've seen interest in the Service Worker repo issues for
> the ability to track/match in-flight fetch requests[2] that I hope should
> be entirely mooted by the HTTP cache.  Depending on the HTTP cache until
> the download is complete ideally avoids redundant downloads, but it would
> be great to have reassurance and an understanding of how a background-fetch
> download mechanism might interact with the HTTP cache.  Could the download
> entirely use the HTTP cache for storage with the cache entries pinned to
> avoid eviction until the download notification extendable event completes?
>
> Andrew
>
> 1: https://w3c.github.io/ServiceWorker/spec/service_worker/
> index.html#cache-objects
> 2: https://github.com/w3c/ServiceWorker/issues/959
>
> _______________________________________________
> dev-platform mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to