LGTM3 but please invest a bit of time before shipping to make sure
bikeshedding isn't in the future here.

Specifically, I hear that HTTPWG folks are pushing for a compression
dictionary rename of its match functionality from "search" to "query". It'd
be good to ensure that won't be a hurdle this feature would run into
further down that same road.

On Fri, Nov 10, 2023 at 9:44 AM Domenic Denicola <dome...@chromium.org>
wrote:

>
>
> 2023年11月10日(金) 17:14 Yoav Weiss <yoavwe...@chromium.org>:
>
>>
>>
>> On Thu, Nov 9, 2023 at 2:46 AM Domenic Denicola <dome...@chromium.org>
>> wrote:
>>
>>>
>>>
>>> On Thu, Nov 9, 2023 at 12:44 AM Yoav Weiss <yoavwe...@chromium.org>
>>> wrote:
>>>
>>>> Thanks for working on this, as I'm enthusiastically supportive of
>>>> tackling this use case!
>>>>
>>>> One thing I wish y'all have done, and that I haven't seen any evidence
>>>> of (but please correct me if I'm wrong) is discuss this design with the
>>>> HTTPWG at the IETF.
>>>> That is feedback that I believe you got at TPAC 22, as well as on the
>>>> TAG review.
>>>> While this is not strictly blocking this intent (as the prefetch cache
>>>> is a web concept), as the explainer rightfully states, this is a concept
>>>> that can very well be expanded to encompass HTTP caches, both inside and
>>>> outside the browser. It'd be great if that eventual expansion is compatible
>>>> with the prefetch cache.
>>>>
>>>> Would y'all be open to bringing the design to discussion at the HTTPWG,
>>>> and potentially move the header's semantic definition there? (while
>>>> eventually moving the web processing model to a web standards venue)
>>>>
>>>> +David Schinazi <dschin...@google.com> for his thoughts on the above
>>>>
>>>
>>> Hi Yoav,
>>>
>>> We're very open to discussing this with the HTTPWG, and have had
>>> informal discussions with HTTPWG members at TPAC and other venues.
>>>
>>
>> That's great to hear!
>>
>>
>>> Our plan was to do so as part of graduation from incubation, and/or as
>>> this expanded beyond the preloading caches into the network stack. See
>>> https://wicg.github.io/nav-speculation/no-vary-search.html#status-and-venue
>>> .
>>>
>>> The IETF process is outside of the preloading teams' expertise, and (as
>>> you noted) the IETF's layers of the technology stack are not involved in
>>> what's being shipped here.
>>>
>>
>> I agree. One concern on that front is that HTTPWG discussions would
>> result in non-backwards-compatible changes to the related headers, or even
>> result in divergence. It'd be a shame if we end up with multiple headers
>> that do the same thing in different caching layers.
>>
>> At the same time, I don't think there's a need to block this intent on
>> that process, assuming y'all would be willing to ensure such divergence
>> does not happen. (either by satisfying the HTTP cache use cases through
>> backwards compatible changes, or by taking a compat hit if needed)
>>
>> Would this work for y'all?
>>
>
> Yes, we're definitely willing to ensure this. Thanks for raising the
> concern!
>
>
>>
>>> But if you'd like to see such engagement before we get to incubation
>>> graduation or start the networking implementation, then we'd love your help
>>> making those connections and working through the process!
>>>
>>
>> Generally I think engaging earlier would be better. Happy to intro and
>> outline the IETF process. +Patrick Meenan <pmee...@google.com> and David
>> are also likely to have contacts and insights.
>>
>>
>>>
>>>>
>>>> On Wed, Nov 8, 2023 at 4:20 PM Daniel Bratell <bratel...@gmail.com>
>>>> wrote:
>>>>
>>>>> LGTM2
>>>>>
>>>>> /Daniel
>>>>> On 2023-11-07 01:57, Mike Taylor wrote:
>>>>>
>>>>> Thanks Liviu.
>>>>>
>>>>> I've spent some time today reviewing the explainer and spec, and find
>>>>> the use cases compelling.
>>>>>
>>>>> LGTM1 to ship. A non-blocking request would be to add the security &
>>>>> privacy considerations from the explainer into the draft WICG spec (or
>>>>> something similar).
>>>>>
>>>>> (Also, kudos to all who contributed to the explainer - it's very
>>>>> thorough and answered every question I had as I began to review in depth.
>>>>> Excellent work.)
>>>>> On 11/6/23 5:08 PM, Liviu Tinta wrote:
>>>>>
>>>>> > Are there any open issues that would result in breaking changes,
>>>>> after we ship?
>>>>>
>>>>> There are 2 open issues related to No-Vary-Search:
>>>>> https://github.com/WICG/nav-speculation/labels/no-vary-search. None
>>>>> of the open issues requires modifying No-Vary-Search header. We are not
>>>>> expecting breaking changes after we ship.
>>>>>
>>>>> On Monday, November 6, 2023 at 1:43:06 PM UTC-5 Mike Taylor wrote:
>>>>>
>>>>>> On 11/1/23 9:59 AM, Liviu Tinta wrote:
>>>>>>
>>>>>> Contact emails dome...@chromium.org, jbro...@chromium.org,
>>>>>> liviuti...@chromium.org
>>>>>>
>>>>>> Explainer
>>>>>> https://github.com/WICG/nav-speculation/blob/main/no-vary-search.md
>>>>>>
>>>>>> Specification
>>>>>> https://wicg.github.io/nav-speculation/no-vary-search.html
>>>>>>
>>>>>> Summary
>>>>>>
>>>>>> Enables prefetch 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 prefetch cache.
>>>>>>
>>>>>> We would like to ship "No-Vary-Search support in navigation prefetch
>>>>>> cache" together with "No-Vary-Search Hint for Prefetch Speculation
>>>>>> Rules" (https://chromestatus.com/feature/4887338302308352).
>>>>>>
>>>>>> Blink component Internals>Preload
>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload>
>>>>>>
>>>>>> TAG review https://github.com/w3ctag/design-reviews/issues/797
>>>>>>
>>>>>> TAG review status Positive.
>>>>>>
>>>>>> Chromium Trial Name NoVarySearchPrefetch
>>>>>>
>>>>>> Link to origin trial feedback summary
>>>>>> https://github.com/WICG/nav-speculation/issues
>>>>>>
>>>>>> Are there any open issues that would result in breaking changes,
>>>>>> after we ship?
>>>>>>
>>>>>>
>>>>>> Origin Trial documentation link
>>>>>> https://developer.chrome.com/origintrials/#/view_trial/4146689356901384193
>>>>>>
>>>>>> Risks
>>>>>>
>>>>>>
>>>>>> Interoperability and Compatibility
>>>>>>
>>>>>> *Gecko*: No signal (
>>>>>> https://github.com/mozilla/standards-positions/issues/717)
>>>>>>
>>>>>> *WebKit*: No signal (
>>>>>> 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".
>>>>>>
>>>>>> *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/d/1GK92nCORW5vKd7LgGtTsgy35eqTV7P71l05pHsni8ok/edit#slide=id.g240fd6541f7_0_31>
>>>>>> .
>>>>>>
>>>>>> Ergonomics
>>>>>>
>>>>>> 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.
>>>>>>
>>>>>>
>>>>>> Activation
>>>>>>
>>>>>> It will not be challenging for developers to take advantage of this
>>>>>> feature immediately.
>>>>>>
>>>>>>
>>>>>> 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?
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> Debuggability
>>>>>>
>>>>>> The website owner can debug the feature in DevTools by making sure
>>>>>> that, when navigating to a prefetched page by using a URL that matches
>>>>>> under No-Vary-Search conditions, the navigation happens from the prefetch
>>>>>> cache by looking at the Size column in the Network tab. In case of 
>>>>>> success,
>>>>>> when hovering over the Size column in the Network tab of Dev Tools, they
>>>>>> should see: "Served from prefetch cache, resource size: yyyB".
>>>>>>
>>>>>> No-Vary-Search header value for the prefetch is available on the
>>>>>> Network tab. Developers can also use the preloading panel (
>>>>>> https://crbug.com/1361483) which shows all ongoing preloads.
>>>>>>
>>>>>>
>>>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>>>> Mac, Linux, Chrome OS, 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/prefetch/no-vary-search?label=experimental&label=master&aligned
>>>>>>
>>>>>>
>>>>>> Flag name on chrome://flags
>>>>>>
>>>>>> Finch feature name NoVarySearchPrefetch
>>>>>>
>>>>>> Requires code in //chrome? False
>>>>>>
>>>>>> Tracking bug
>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1378075
>>>>>>
>>>>>> Non-OSS dependencies
>>>>>>
>>>>>> Does the feature depend on any code or APIs outside the Chromium open
>>>>>> source repository and its open-source dependencies to function?
>>>>>> No.
>>>>>>
>>>>>> Estimated milestones
>>>>>> Shipping on desktop 121
>>>>>> OriginTrial desktop last 120
>>>>>> OriginTrial desktop first 110
>>>>>> DevTrial on desktop 110
>>>>>> Shipping on Android 121
>>>>>> OriginTrial Android last 120
>>>>>> OriginTrial Android first 110
>>>>>> DevTrial on Android 110
>>>>>> Shipping on WebView 121
>>>>>> OriginTrial webView last 120
>>>>>> OriginTrial webView first 110
>>>>>>
>>>>>> 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/5071247189213184
>>>>>>
>>>>>> Links to previous Intent discussions Intent to prototype:
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqYKutrvgMxR%3DnfAQOfBHNJo9ifrmFRSbiE0heDyeW0uKJA%40mail.gmail.com
>>>>>>
>>>>>> Intent to Experiment:
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqYLGT%2BV3_u_oumjHCZD05RRYY5guMjz1vb7501sNF1CANg%40mail.gmail.com
>>>>>> Intent to Extend Experiment:
>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/7oMlGWmVv2Q/m/B2PACBSnBgAJ
>>>>>>
>>>>>> --
>>>>>> 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/CAHaAqYKL2psmkYpQQ6KjrM_41yt8f%3DvH_-m0%3DT4idWT4zSumHw%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHaAqYKL2psmkYpQQ6KjrM_41yt8f%3DvH_-m0%3DT4idWT4zSumHw%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/b878e749-5d1a-4205-8612-3bd36db82fb3%40chromium.org
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b878e749-5d1a-4205-8612-3bd36db82fb3%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/265d9c2a-08fc-4ee8-b1ec-f125a910c91f%40gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/265d9c2a-08fc-4ee8-b1ec-f125a910c91f%40gmail.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/CAL5BFfVT%2BDdvQL0hxDM9SW2PkfC7c%3DSw3FB6CC0a%2BSrseNT-Jg%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVT%2BDdvQL0hxDM9SW2PkfC7c%3DSw3FB6CC0a%2BSrseNT-Jg%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/CAL5BFfXTo6_9uPovRMo%3DkLauQPZuZHTe1x4TqB%3DPa8%3Dm4LrhNA%40mail.gmail.com.

Reply via email to