background-fetch icon indicating copy to clipboard operation
background-fetch copied to clipboard

Duplicate requests in a Background Fetch

Open rayankans opened this issue 6 years ago • 3 comments

The spec defines outlines the matching algorithm here: https://w3c.github.io/ServiceWorker/#request-matches-cached-item

A Background Fetch should have the same set of restrictions (duplicate URLs allowed only with an appropriate Vary header).

rayankans avatar Nov 14 '18 18:11 rayankans

Just summarizing the points I made over email:

  1. Our implementation will get simpler indeed without having to deal with duplicate requests, and you're right about the inconsistencies with the cache storage API. Cache API doesn't support requests with bodies either, but we plan to support them.
  2. For uploads, developers will want to use the same URL for all requests in the fetch. If we decide to not to support these, developers will need to add some (unnecessary) query params to each upload URL, to get past our check. This feels non-ideal, and might be seen as a limitation of our implementation.

mugdhalakhani avatar Nov 15 '18 10:11 mugdhalakhani

  • This discussion is on the spec level so the implementation is irrelevant.
  • It's true that the cache API doesn't support requests with bodies, but I'm referring to the match/matchAll algorithm, which is being applied to both with a different set of preconditions.
  • It is only a limitation in so far no duplicates are allowed in a cache.

rayankans avatar Nov 15 '18 11:11 rayankans

  • I agree the implementation is irrelevant, all the more reason to support Duplicate requests.
  • I mentioned requests with bodies because that's they'll Duplicate requests, and we plan to support them.
  • We should explore ways to support duplicate requests in a cache then.

mugdhalakhani avatar Nov 22 '18 11:11 mugdhalakhani