background-fetch
background-fetch copied to clipboard
Duplicate requests in a Background Fetch
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).
Just summarizing the points I made over email:
- 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.
- 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.
- 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.
- 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.