Skip to content

Duplicate requests in a Background Fetch #129

Open

Description

@rayankans

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).

Activity

  1. mugdhalakhani commented on Nov 15, 2018

    @mugdhalakhani

    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.
  2. rayankans commented on Nov 15, 2018

    @rayankans
    ContributorAuthor
    • 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.
  3. mugdhalakhani commented on Nov 22, 2018

    @mugdhalakhani
    • 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions