Intent to Extend Experiment: No-Vary-Search header, Speculation Rules expects_no_vary_search support in prefetch cache

Skip to first unread message

Liviu Tinta

Oct 2, 2023, 6:31:39 PM10/2/23
to blink-dev

Contact emails

Original I2E

Previous Intent to Extend Experiment:

No-Vary-Search Spec

No-Vary-Search hint explainer

Origin Trial


We propose extending the "No-Vary-Search support in navigation prefetch cache" origin trial. We decided to extend the experiment based on positive feedback from the developer experimenting with the No-Vary-Search header and No-Vary-Search hint. (see ChromeStatus entry:

We are planning to extend the experiment for 2 more milestones M119 to M120 inclusive. 

Blink component



The developer we are working with would like to experiment more with No-Vary-Search hint in the context of No-Vary-Search header to evaluate the added impact of the new functionality.

TAG review

TAG review status

Complete at this time. TAG didn't see any major issue and encouraged us to continue experimenting.


Interoperability and Compatibility

Gecko: No signal. Request for Standards Position:

WebKit: No signal. Informal positive signals from individual engineers at TPAC 2022. Request for Standards Position:

Web developers: Google Search has been experimenting with No-Vary-Search header / Speculation Rules "expects_no_vary_search". This functionality helps Google Search to match prefetched content to the next user navigation. Developers can use parameters in the prefetched URL that are not needed when navigating to the actual link (e.g. the source of the link click). The server can customize behavior using these parameters without causing a cache miss in the browser.
"expects_no_vary_search" addition to Speculation Rules allows the browser to completely handle the case where the user navigates to a URL that is currently prefetched by waiting for the ongoing prefetch instead of directly requesting the page from the server.
Google Search conducted experiments prefetching Search results pages from the search box and other links that lead to another Search results page. There was significant latency improvement for navigating to Search result pages prefetched using No-Vary-Search header and "expects_no_vary_search".
"expects_no_vary_search" functionality of Speculation Rules wasn't available until M116, and even after that it was only available to a small percentage of the population because of cautious roll-out of a feature that "expects_no_vary_search" depended on.

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
No. This is a new opt-in feature.


The preloading panel shows all ongoing preloads, including both the targeted URL and the cached URL, if they differ due to No-Vary-Search.

Is this feature fully tested by web-platform-tests?

Yes. WPTs landed under the external/wpt/speculation-rules/prefetch/no-vary-search folder.

Tracking bug

Link to entry on the Chrome Platform Status

Liviu Tinta

Oct 25, 2023, 11:19:48 AM10/25/23
to blink-dev, blink-dev
Following up on this intent. Is there anything else needed from a process perspective to extend the experiment ?

On Monday, October 2, 2023 at 6:31:39 PM UTC-4 blink-dev wrote:

Mike Taylor

Oct 25, 2023, 12:28:08 PM10/25/23
to Liviu Tinta, Jason Robbins, blink-dev

Apologies - this intent didn't show up in our review tooling (cc Jason), so it's slipped under the radar.

I believe y'all have met the bar to extend again, given that the below criteria are largely done:

Draft spec
TAG review requests
Outreach for feedback from the spec community (maybe except this one?)
WPT tests

LGTM to extend from 119 to 120 inclusive.

You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
Reply all
Reply to author
0 new messages