dom...@chromium.org, jbr...@chromium.org, liviu...@chromium.org
https://github.com/WICG/nav-speculation/blob/main/no-vary-search.md#prerendering-activation
https://wicg.github.io/nav-speculation/no-vary-search.html
Enables a prerender entry to match even if URL query parameters change. The No-Vary-Search HTTP response header declares that some or all parts of a URL's query can be ignored for cache matching purposes. It can declare that the order of query parameter keys should not cause cache misses, that specific query parameters should not cause cache misses or that only certain known query parameters should cause cache misses. It could apply to multiple caches, but this entry refers to support for prerender.
https://github.com/w3ctag/design-reviews/issues/797
Pending
None
Gecko: No signal (https://github.com/mozilla/standards-positions/issues/717)
WebKit: No signal (https://github.com/WebKit/standards-positions/issues/106)
Web developers: No signals Below is the text from the I2S of the No-Vary-Search on navigational prefetch, and we believe the same applies to Prerendering. 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".
Other signals: No-Vary-Search header has been discussed, together with No-Vary-Search Hint for Prefetch Speculation Rules at Web Perf WG meeting at TPAC 2023. https://docs.google.com/presentation/u/1/d/1GK92nCORW5vKd7LgGtTsgy35eqTV7P71l05pHsni8ok/edit#slide=id.g240fd6541f7_0_31
(Text taken from Prefetch NVS I2S)
No-Vary-Search will be used in tandem with Speculation Rules (https://wicg.github.io/nav-speculation/speculation-rules.html). The default usage of No-Vary-Search will not make it hard for Chrome to maintain good performance.
This should be a natural extension to the previous feature launch "No-Vary-Search support in navigation prefetch cache" (https://groups.google.com/a/chromium.org/g/blink-dev/c/XnG5BF3uoeE/m/fwR6LDt4BQAJ )
Before this launch, No-Vary-Search was only respected for speculation rules targeting prefetch, so web author may have specified them without knowing that it wouldn't work. With this launch, No-Vary-Search header will be respected on all types of Speculation Rule Set https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rule-set , so it is more consistent.
See: https://github.com/WICG/nav-speculation/blob/main/no-vary-search-security-privacy-questionnaire.md
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
We are closely working with Android WebView team, and the broader prerender feature is gated through new AwSettings API (currently @RequiresOptIn) so there's zero risk that it will break existing WebView apps.
None
Yes
Yes
https://wpt.fyi/results/speculation-rules/prerender?label=experimental&label=master&aligned
(The test files starting with no-vary-search)
None
Prerender2NoVarySearch
False
https://issues.chromium.org/issues/41494389
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
None
https://chromestatus.com/feature/5099218903760896?gate=5171022636777472
Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqY%2B13miDT4YS3%3DjhgW4V6Cv8FZ3E_QT2Tj6aq1yy%3DJgsyw%40mail.gmail.com
This intent message was generated by Chrome Platform Status.
LGTM1 - I'm very happy to see this ship.
--
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/65609d80-3c17-4853-bae6-e9576cf4582fn%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f6aeadef-3cf7-4397-b936-3031b1092d70%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_qGedddYf6siEo6HLMaftfjB-0mvj%2BH8%3Dg27LTJM4q_w%40mail.gmail.com.
Now, when it looks like this will be shipped, can you please update the stalled standard-position issues for Mozilla and WebKit so that they know that we'll proceed with it.
/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2NtUdUeqkT%3DyhKJMgUw3RDc1kb7Vts3kz_6GJyCnAMKnw%40mail.gmail.com.
LGTM3
LGTM2
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/65609d80-3c17-4853-bae6-e9576cf4582fn%40chromium.org.
--
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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f6aeadef-3cf7-4397-b936-3031b1092d70%40chromium.org.
--
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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_qGedddYf6siEo6HLMaftfjB-0mvj%2BH8%3Dg27LTJM4q_w%40mail.gmail.com.
--
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+unsubscribe@chromium.org.