LGTM2, same conditions On Wednesday, June 25, 2025 at 11:28:27 AM UTC-4 Mike Taylor wrote:
> LGTM1, but conditioned on the spec work landing before shipping anything. > On 6/25/25 1:00 a.m., Yoav Weiss (@Shopify) wrote: > > > > On Wed, Jun 25, 2025 at 4:18 AM Vladimir Levin <vmp...@chromium.org> > wrote: > >> >> >> On Thursday, June 19, 2025 at 9:48:37 AM UTC-4 Yoav Weiss wrote: >> >> Contact emailsyoavwe...@chromium.org >> >> Explainer >> This will add the cookie name prefix `__Http-`. >> Cookies that would start with that prefix would only be able to be set >> using the `Set-Cookie` HTTP header and will have to have an `httpOnly` >> attribute. >> >> Adding that prefix to the cookie name will give site operators the >> guarantee that any such cookie they see was set by their server, and not be >> a malicious/compromised script. >> >> There are still ongoing discussions >> <https://github.com/httpwg/http-extensions/issues/3111#issuecomment-2986560222> >> >> about the exact spelling of a combination of this prefix with the `__Host-` >> prefix. I'd like this intent to cover both, but I'm not planning to ship >> the `__HostHttp` variant until the dust settles on the desired spelling. >> >> Specificationhttps://github.com/httpwg/http-extensions/pull/3110 >> >> Summary >> >> There are cases where it's important to distinguish on the server side >> between cookies that were set by the server and ones that were set by the >> client. One such case is cookies that are normally always set by the >> server, unless some unexpected code (an XSS exploit, a malicious extension, >> a commit from a confused developer, etc.) happens to set them on the >> client. This proposal adds a signal that would enable servers to make such >> a distinction. More specifically, it defines the __Http and __HostHttp >> prefixes, that make sure that a cookie is not set on the client side using >> script. >> >> >> What is the behavior if one attempts to set an `__Http`-prefixed cookie >> from script with this feature? Does it silently fail, or is there an error >> that is thrown? >> > > Similar to existing prefixes > <https://github.com/web-platform-tests/wpt/blob/master/cookies/resources/cookie-helper.sub.js#L76>, > > when setting a cookie using `document.cookie`, the only way to know it > failed is observing (on the server) it is not present in relevant requests. > Setting such a cookie through the CookieStore API results in a Promise > rejection > <https://github.com/web-platform-tests/wpt/blob/master/cookie-store/cookieStore_special_names.https.any.js#L39> > . > > >> >> >> Blink componentInternals>Network>Cookies >> <https://issues.chromium.org/issues?q=customfield1222907:%22Internals%3ENetwork%3ECookies%22> >> >> TAG reviewNone, as the TAG doesn't typically review HTTP features. >> >> TAG review statusNot applicable >> >> Risks >> >> >> Interoperability and Compatibility >> >> No particular compat issues, as we don't expect this prefix to already >> exist in the wild. >> >> In terms of interop, Mozilla and Apple folks are heavily involved in the >> discussions and haven't raised any concerns. >> >> >> I agree that the chance of there being __Http named cookies is very low, >> but I've been wrong about things like this before :) Do you have any >> metrics/code searches/etc to validate that this is safe from compat >> perspective? >> > > I don't have any metrics, and GH search seems to ignore the _ and - parts > when searching for `__Http-`.. > I agree there's a non-zero change that someone added such a prefix to a > cookie (without it being httpOnly), but I think having a Finch flag to be > able to turn the feature off in case that turns out to be the case is > sufficient. > > >> >> >> >> >> *Gecko*: No signal (https://github.com/mozilla/ >> standards-positions/issues/1256) >> >> *WebKit*: No signal (https://github.com/WebKit/ >> standards-positions/issues/518) >> >> *Web developers*: Positive (https://lists.w3.org/ >> Archives/Public/ietf-http-wg/2025JanMar/0146.html) >> >> *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 >> >> Is this feature fully tested by web-platform-tests >> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >> ?Yes >> https://chromium-review.googlesource.com/c/chromium/ >> src/+/6638647/15/third_party/blink/web_tests/external/wpt/ >> cookies/prefix/__Http.https.html >> https://chromium-review.googlesource.com/c/chromium/ >> src/+/6650996/2/third_party/blink/web_tests/external/wpt/ >> cookies/prefix/__HostHttp.https.html >> >> Flag name on about://flagsNone >> >> Finch feature namePrefixCookieHttp, PrefixCookieHostHttp >> >> Rollout planWill ship enabled for all users >> >> Requires code in //chrome?False >> >> Tracking bughttps://issues.chromium.org/issues/426096760 >> >> Estimated milestonesShipping on desktop140Shipping on Android140Shipping >> on WebView140 >> >> 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 Statushttps://chromestatus.com/ >> feature/5170139586363392?gate=5174068239925248 >> >> 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/CAOmohS%2BRtDnZ9x5izwv8_4xUBOxZrzBd2L8Eh_Cn58dPvd9Ayw%40mail.gmail.com > > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2BRtDnZ9x5izwv8_4xUBOxZrzBd2L8Eh_Cn58dPvd9Ayw%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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5d068f26-f995-4263-b5aa-43bb6fa48065n%40chromium.org.