LGTM1 for a slow roll-out, given the fact that "breakage" may most likely
present itself as extra server load.

On Tue, Jul 1, 2025 at 5:42 AM Domenic Denicola <dome...@google.com> wrote:

> We're optimistic that this will result in no "breakage". The Purpose
> header was not reliable (e.g., it was Chromium only, and it was only sent
> by some types of preloads). Sec-Purpose has been in place for a long time
> now, and is the one documented everywhere, that works in Firefox, etc.
>
> That said, it's hard to get visibility into what server operators are
> doing with headers. Probably the most common use would be denying some
> preload traffic. In that case, removing it might cause the server to
> perform more serving operations than they previously did, if the server is
> not also checking Sec-Purpose. But in the theoretical worst case, the
> server could be varying its content on the header, which would result in
> users seeing different responses. (This seems very unlikely, as sending
> different responses for preloads vs. normal loads is a very bad idea in the
> first place.)
>
> We've generally found that most open-source code checks a large variety of
> headers, including the standard Sec-Purpose, and so won't be affected. See,
> e.g., some of the results from this GitHub code search
> <https://github.com/search?q=Sec-Purpose+prefetch+language%3AJava+&type=code>.
> (Here's an attempt
> <https://github.com/search?q=prefetch+AND+%5C%22Purpose%5C%22+AND+NOT+Sec-Purpose+language%3AJava+&type=code&p=4>
>  at
> the inverse code search, which doesn't show any cases of only checking for
> Purpose, but I'm not sure the search is very well-crafted.) Unfortunately
> this isn't something we can use-count, so I think the best approach here is
> to just roll it out and be prepared to kill-switch if something unexpected
> shows up.
>
> On Tue, Jul 1, 2025 at 12:45 AM Yoav Weiss (@Shopify) <
> yoavwe...@chromium.org> wrote:
>
>> Do y'all have any estimate on potential breakage, what may be its scale
>> and what it may look like?
>>
>> On Thursday, June 26, 2025 at 8:43:52 PM UTC+2 Chromestatus wrote:
>>
>>> Contact emails steven...@microsoft.com
>>>
>>> Explainer https://github.com/whatwg/fetch/pull/1576
>>>
>>> Specification
>>> https://wicg.github.io/nav-speculation/prerendering.html#interaction-with-fetch
>>>
>>> Design docs
>>> https://fetch.spec.whatwg.org/#ref-for-http-sec-purpose%E2%91%A0
>>>
>>> https://wicg.github.io/nav-speculation/prefetch.html#ref-for-http-sec-purpose
>>>
>>> Summary
>>>
>>> Now that prefetches and prerenders are utilizing the Sec-Purpose header
>>> for prefetches and prerenders, we will move to remove the legacy Purpose:
>>> prefetch header that is still currently passed. This will be behind a
>>> feature flag/ kill switch to prevent compat issues. This will be scoped to
>>> speculation rules prefetch, speculation rules prerender, <link
>>> rel=prefetch>, and Chromium's non-standard <link rel=prerender>.
>>>
>>>
>>> Blink component Blink>Loader
>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ELoader%22>
>>>
>>> TAG review Not filed as this is a minor change of unspec'ed UA behavior
>>> for an existing feature. (Can start a review if recommended)
>>>
>>> TAG review status Not applicable
>>>
>>> Risks
>>>
>>>
>>> Interoperability and Compatibility
>>>
>>> As commented at notes on Firefox and Safari, each browser uses
>>> non-standardized header name that is not aligned with CORS spec. This
>>> change will introduce better interoperability and compatibility for a long
>>> term.
>>>
>>>
>>> *Gecko*: Positive (
>>> https://github.com/mozilla/standards-positions/issues/1259)
>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1965945 They currently
>>> already pass the web platform tests for standardizing on using Sec-Purpose
>>> for prefetch.
>>>
>>> *WebKit*: Support (
>>> https://github.com/WebKit/standards-positions/issues/114) Positive as
>>> part of aligning on <link rel=prefetch>
>>>
>>> *Web developers*: No signals
>>>
>>> *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?
>>>
>>> None
>>>
>>>
>>> Debuggability
>>>
>>> None
>>>
>>>
>>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>>> Linux, ChromeOS, Android, and Android WebView)? Yes
>>>
>>> Yes, since it affects <link rel=prefetch> which is on all platforms
>>>
>>>
>>> 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/preload/prefetch-headers.https.html?label=experimental&label=master&aligned
>>>
>>>
>>> Flag name on about://flags None
>>>
>>> Finch feature name RemovePurposeHeaderForPrefetch
>>>
>>> Rollout plan Will ship enabled for all users
>>>
>>> Requires code in //chrome? False
>>>
>>> Tracking bug https://issues.chromium.org/issues/420724819
>>>
>>> Estimated milestones
>>> Shipping on desktop 139
>>> Shipping on Android 139
>>> Shipping on WebView 139
>>>
>>> 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/5088012836536320?gate=5120193717862400
>>>
>>> Links to previous Intent discussions Intent to Prototype:
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6836470b.2b0a0220.33c819.0963.GAE%40google.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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSKKakt%2Bk%2BePB209anKsh9Mzar-PjLDvChJC_K8kLrQ5Hw%40mail.gmail.com.

Reply via email to