Contact emails

dome...@chromium.org, jbro...@chromium.org, liviuti...@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
No-Vary-Search hint spec
https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-processing

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
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload>

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.

RisksInteroperability 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
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
?

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

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqY%2BWucf09AoEnZYOhvrBiJn%2BSHCRSuoEP1591Jbev%3DW7vg%40mail.gmail.com.

Reply via email to