No-Vary-Search

Hello HTTPWG:

This is tangentially unrelated to my previous email, but I've split it into
another thread to avoid entangling the two.

A developer previously reported to us that their ability to use the
prefetch cache was limited because their prefetch request URLs needed to
include certain query parameters which are different from the navigation
request URL, even though these URLs do not affect the resource the server
ultimately produces (and therefore, the client can safely use the
resource). The explainer
<https://github.com/WICG/nav-speculation/blob/main/no-vary-search.md> we
wrote goes through some of the possible use cases in more detail.

The semantics we have right now (and the header name, No-Vary-Search¹) are
designed with the concept of being implementable in non-browser HTTP
implementations, but since browser use cases were what we are focused on,
there are some places where the semantics rely on, e.g., WHATWG URL
<https://url.spec.whatwg.org/>, which may vary in subtle ways from other
concepts of the meaning of the query string (since IETF HTTP doesn't
currently take a position on that as far as I know).

The specification draft
<https://wicg.github.io/nav-speculation/no-vary-search.html> is currently
hosted by the W3C's Web Incubator Community Group (WICG) and we've
previously discussed it in a W3C context, but it was suggested that we
bring it to HTTPWG's attention, too, and if there is interest among
participants it could migrate to an HTTPWG RFC instead of continuing
incubation in the web standards venues.

¹ This was originally No-Vary-Query, but the web-exposed APIs call this
part of the URL "search", so this change was requested in a W3C discussion.

Received on Wednesday, 21 February 2024 02:09:02 UTC