We intend to prototype support for the No-Vary-Search HTTP caching extension in Firefox.
Specification
No-Vary-Search (IETF httpbis): https://httpwg.org/http-extensions/draft-ietf-httpbis-no-vary-search.html
Summary
The No-Vary-Search specification defines a new HTTP response header, No-Vary-Search, that allows servers to declare which URL query parameters should be ignored when matching cache entries. This enables the browser to serve a cached response for a URL even when query parameters differ, as long as the server has declared those parameters do not affect the response.
For example, given the response header:
No-Vary-Search: params=("utm_source" "utm_medium" "utm_campaign")
If the browser has a cached response for https://example.com/article, it will also serve that cached response for:
https://example.com/article?utm_source=email, and https://example.com/article?utm_source=social&utm_medium=paid&utm_campaign=summer
But not for https://example.com/article?ref=homepage
Because ref is not declared as ignorable, it still causes a cache miss.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=2037149
Mozilla Standards Position: https://github.com/mozilla/standards-positions/issues/717 (Positive)
Other Browsers
Chrome: Shipped (Chrome 141, HTTP disk cache)
Safari: No position (https://github.com/WebKit/standards-positions/issues/106)
Platform Coverage
All
Web Platform Tests
https://wpt.fyi/results/?label=master&label=experimental&aligned&q=no-vary-search
Summary:
Today, two URLs that differ only in query parameters irrelevant to the response content (https://example.com/article?ref=homepage and https://example.com/article?ref=sidebar) are treated as separate cache entries, causing redundant network requests even when the server returns identical content. The No-Vary-Search HTTP response header lets servers declare which query parameters are irrelevant to the response, allowing the browser to reuse cached entries across those URL variants. This reduces unnecessary network traffic and improves page load performance for users, with no changes required from web developers beyond a single response header. No-Vary-Search is also used extensively by the Speculation Rules API, where it allows speculative prefetches to match navigations to URLs that differ only in declared-irrelevant query parameters.
Bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=2037149
Specification:
https://httpwg.org/http-extensions/draft-ietf-httpbis-no-vary-search.html
Standards Body:
IETF (httpbis)
Platform Coverage:
All
Preference:
network.http.no-vary-search.enabled
DevTools Bug:
N/A
Extensions Bug:
N/A
Use Counter:
N/A
Standards-Positions Discussion:
https://github.com/mozilla/standards-positions/issues/717 (Positive)
Other Browsers:
Blink: Shipped (Chrome 141)
WebKit: No position (https://github.com/WebKit/standards-positions/issues/106)
web-platform-tests:
https://wpt.fyi/results/?label=master&label=experimental&aligned&q=no-vary-search