LGTM2 On Wed, Jun 5, 2024 at 9:58 PM Mike Taylor <miketa...@chromium.org> wrote:
> LGTM1 > On 6/5/24 11:21 PM, Liviu Tinta wrote: > > Contact emails > > dome...@chromium.org, jbro...@chromium.org, liviuti...@chromium.org > > Explainer > > > https://github.com/WICG/nav-speculation/blob/main/triggers.md#no-vary-search-hint > > Specification > > https://wicg.github.io/nav-speculation/prerendering.html > > Summary > > Adds a hint to speculation rules that informs the navigation prerender > cache that the URL to be prerendered expects to receive the same > No-Vary-Search header in the response. > > The hint is useful because prerenders that depend on No-Vary-Search to > match to navigations do not benefit the user if the navigation happens > before prerender headers return from the server. Using the hint, the web > browser will expect, but verify, that the No-Vary-Search hint matches with > the No-Vary-Search header. If the No-Vary-Search hint does not match the > No-Vary-Search header received then the web browser will send a new request. > > We would like to ship "No-Vary-Search Hint for Prerender Speculation > Rules" together with "No-Vary-Search support for prerender > <https://chromestatus.com/feature/5099218903760896>". > > Blink component > > Internals>Preload>Prerender > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload%3EPrerender> > > TAG review > > Not applicable. The TAG has already given a negative opinion on the > overall complexity of speculation rules ( > https://github.com/w3ctag/design-reviews/issues/721 ), so we anticipate > it would not be a good use of their time to review additions to the syntax. > The addition itself is small and any architectural questions about it would > be covered under the general closed speculation rules review. > > TAG review status > > Not applicable > > Risks > > Interoperability and Compatibility > > None > > > Gecko: No signal ( > https://github.com/mozilla/standards-positions/issues/620#issuecomment-1608195274 > ) > > WebKit: No signal ( > https://github.com/WebKit/standards-positions/issues/54#issuecomment-1608197504 > ) > > Web developers: 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 > > Ergonomics > > (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. > > > Security > > See: > https://github.com/WICG/nav-speculation/blob/main/no-vary-search-security-privacy-questionnaire.md > > > 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? > > 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. > > > > > Debuggability > > None > > > Will this feature be supported on all six Blink platforms (Windows, Mac, > Linux, ChromeOS, Android, and Android WebView)? > > Yes > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> > ? > > Yes > > > https://wpt.fyi/results/speculation-rules/prerender?label=experimental&label=master&aligned > > (The test files starting with no-vary-search) > > > Flag name on chrome://flags > > None > > Finch feature name > > Prerender2NoVarySearch > > Requires code in //chrome? > > False > > Estimated milestones > > Shipping on desktop > > 127 > > Shipping on Android > > 127 > > Shipping on WebView > > 127 > > > > Anticipated spec changes > > 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 > > Link to entry on the Chrome Platform Status > > https://chromestatus.com/feature/5190922953555968?gate=5148879099265024 > > Links to previous Intent discussions > > Intent to prototype: > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B7y87rgssbBecLSY5fz03ATcAAjgy%3DjY322w_2roQdsehP4Dg%40mail.gmail.com > > This intent message was generated by Chrome Platform Status > <https://chromestatus.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+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqYJphk8wg8yLr-VFe2QJDZ4N%3D8Z%2BBAs9VL5scY-brTmRTg%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqYJphk8wg8yLr-VFe2QJDZ4N%3D8Z%2BBAs9VL5scY-brTmRTg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- > 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/457ce01c-56ea-42a9-b9ef-1d84216ccd90%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/457ce01c-56ea-42a9-b9ef-1d84216ccd90%40chromium.org?utm_medium=email&utm_source=footer> > . > -- 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/CAOMQ%2Bw9p78D28sGy7zBHQk1cij7PwDs7EE8GnDZ62hpudydOtg%40mail.gmail.com.