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

115 views
Skip to first unread message

Liviu Tinta

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

Contact emails

dom...@chromium.orgjbr...@chromium.orgliviu...@chromium.org


Original I2E

https://groups.google.com/a/chromium.org/g/blink-dev/c/6gsc52WQgrU/m/qcTayjt6DAAJ


Previous Intent to Extend Experiment: 

https://groups.google.com/a/chromium.org/g/blink-dev/c/ZQzL4l78NOU/m/DnYxcTWuAAAJ


No-Vary-Search Spec

https://wicg.github.io/nav-speculation/no-vary-search.html

No-Vary-Search hint explainer

https://github.com/WICG/nav-speculation/blob/main/triggers.md#no-vary-search-hint


Origin Trial

https://developer.chrome.com/origintrials/#/view_trial/4146689356901384193


Summary

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: https://chromestatus.com/feature/4887338302308352)


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


Blink component

Internals>Preload


Motivation

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

https://github.com/w3ctag/design-reviews/issues/797

TAG review status

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


Risks

Interoperability and Compatibility


Gecko: No signal. Request for Standards Position: https://github.com/mozilla/standards-positions/issues/717.


WebKit: No signal. Informal positive signals from individual engineers at TPAC 2022. Request for Standards Position: https://github.com/WebKit/standards-positions/issues/106.


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.



Debuggability

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

crbug.com/1378075

crbug.com/1416659


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5071247189213184

https://chromestatus.com/feature/4887338302308352


Liviu Tinta

unread,
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

unread,
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
bit.ly/blink-signals 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 blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/18469841-fadb-468b-bba0-2f4da3892db1n%40chromium.org.
Reply all
Reply to author
Forward
0 new messages