Okay, I've proposed a tweak.

https://github.com/whatwg/fetch/pull/1781

On Thursday, October 24, 2024 at 1:13:18 PM UTC-5 Jeffrey Yasskin wrote:

> Yes, exactly.
>
> On Thu, Oct 24, 2024 at 8:46 AM Chris Thompson <cth...@chromium.org> 
> wrote:
>
>> I think this would be in Step 10 of Main Fetch (Step 5 is for 
>> Upgrade-Insecure-Requests):
>>>
>>> Set request’s current URL 
>>> <https://fetch.spec.whatwg.org/#concept-request-current-url>’s scheme 
>>> <https://url.spec.whatwg.org/#concept-url-scheme> to "https" if all of 
>>> the following conditions are true:
>>>
>>>    - request’s current URL 
>>>    <https://fetch.spec.whatwg.org/#concept-request-current-url>’s scheme 
>>>    <https://url.spec.whatwg.org/#concept-url-scheme> is "http"
>>>    - request’s current URL 
>>>    <https://fetch.spec.whatwg.org/#concept-request-current-url>’s host 
>>>    <https://url.spec.whatwg.org/#concept-url-host> is a domain 
>>>    <https://url.spec.whatwg.org/#concept-domain>
>>>    - Matching request’s current URL 
>>>    <https://fetch.spec.whatwg.org/#concept-request-current-url>’s host 
>>>    <https://url.spec.whatwg.org/#concept-url-host> per Known HSTS Host 
>>>    Domain Name Matching 
>>>    <https://www.rfc-editor.org/rfc/rfc6797.html#section-8.2> results in 
>>>    either a superdomain match with an asserted includeSubDomains directive 
>>>    or a congruent match (with or without an asserted includeSubDomains
>>>     directive) [HSTS] <https://fetch.spec.whatwg.org/#biblio-hsts>; or 
>>>    DNS resolution for the request finds a matching HTTPS RR per section 
>>>    9.5 
>>>    
>>> <https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https#section-9.5>
>>>     of [SVCB] <https://fetch.spec.whatwg.org/#biblio-svcb>. [HSTS] 
>>>    <https://fetch.spec.whatwg.org/#biblio-hsts> [SVCB] 
>>>    <https://fetch.spec.whatwg.org/#biblio-svcb>
>>>
>>> So maybe just add a fourth condition "request's current URL's host is 
>> not localhost"?
>>
>>
>> On Thu, Oct 24, 2024 at 8:42 AM Eric Lawrence <bay...@gmail.com> wrote:
>>
>>> > probably makes sense to start by suggesting a change to 
>>> https://fetch.spec.whatwg.org/#concept-main-fetch,
>>> > but the editors there might ask you to write an update to the RFC. 
>>>
>>> I don't think I understand what change to Fetch would be proposed. The 
>>> section you flagged has two relevant clauses related to HTTPS upgrades:
>>>
>>>   5. Upgrade request to a potentially trustworthy URL, if appropriate.
>>>   6. Upgrade a mixed content request to a potentially trustworthy URL, 
>>> if appropriate.
>>>
>>> Notably, [*.]localhost is already a potentially trustworthy URL: 
>>> https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy, 
>>> clause #5.
>>>
>>> ...which implies to me that the behavior I propose is already what Fetch 
>>> asks for.
>>> On Wednesday, October 23, 2024 at 7:12:28 PM UTC-5 Jeffrey Yasskin wrote:
>>>
>>>> Can you propose a matching change to the relevant standard? It probably 
>>>> makes sense to start by suggesting a change to 
>>>> https://fetch.spec.whatwg.org/#concept-main-fetch, but the editors 
>>>> there might ask you to write an update to the RFC. We can figure out the 
>>>> cheapest way to get that done if they do ask. There's no need to block 
>>>> shipping this on getting the updates finished, but the launch process 
>>>> <https://www.chromium.org/blink/launching-features/#new-feature-prepare-to-ship:~:text=propose%20that%20the%20feature%20migrate%20to%20a%20working%20group>
>>>>  does 
>>>> say to propose it first.
>>>>
>>>> Jeffrey
>>>>
>>>> On Wed, Oct 23, 2024 at 2:28 PM 'Eric Lawrence' via blink-dev <
>>>> blin...@chromium.org> wrote:
>>>>
>>>>> *Following up on an earlier thread 
>>>>> here: 
>>>>> https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/gGHOmFGEzQ0 
>>>>> <https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/gGHOmFGEzQ0>*
>>>>>
>>>>> Contact emails: eri...@microsoft.com
>>>>>
>>>>> Explainer: None
>>>>>
>>>>> Specification: HSTS specification is at 
>>>>> https://datatracker.ietf.org/doc/html/rfc6797; this feature proposes 
>>>>> an improvement.
>>>>>
>>>>> Summary
>>>>>
>>>>> Strict-Transport-Security response headers can cause problems for 
>>>>> localhost web servers because STS applies host-wide, across all ports. 
>>>>> This 
>>>>> causes compatibility problems for web developers testing locally as well 
>>>>> as 
>>>>> end-users who use software packages that commonly spin up localhost 
>>>>> webservers for ephemeral reasons (e.g. communication of an auth token 
>>>>> from 
>>>>> a web login to a local software package). If one local listener sets 
>>>>> Strict-Transport-Security on a localhost response, it will be applied to 
>>>>> all subsequent localhost requests regardless of port. We resolve this 
>>>>> problem by ignoring Strict-Transport-Security headers on responses from 
>>>>> localhost URLs.
>>>>>
>>>>> Blink component: Internals>Network>DomainSecurityPolicy 
>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork%3EDomainSecurityPolicy>
>>>>>
>>>>> TAG review: None
>>>>>
>>>>> Risks
>>>>>
>>>>> Interoperability and Compatibility
>>>>>
>>>>> The expectation is that this will improve compatibility with services 
>>>>> that run on localhost by avoiding unexpected interactions across 
>>>>> unrelated 
>>>>> packages. 
>>>>>
>>>>> *Gecko*: Shipped/Shipping
>>>>>
>>>>> *WebKit*: No signal
>>>>>
>>>>> *Web developers*: Positive (
>>>>> https://issues.chromium.org/issues?q=HSTS%20localhost) Web Developers 
>>>>> who test their sites locally commonly report problems with 
>>>>> Strict-Transport-Security headers applying unexpectedly across unrelated 
>>>>> localhost services under tests.
>>>>>
>>>>> *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
>>>>>
>>>>> HSTS upgrades show in the F12 Network pane as "307 Internal Redirect." 
>>>>> In the absence of such an upgrade, the 307 is not shown.
>>>>>
>>>>> 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>
>>>>> ? No, HSTS is not tested by Web Platform tests. The change is tested 
>>>>> by Chrome unit and browser tests.
>>>>>
>>>>> Flag name on chrome://flags: None
>>>>>
>>>>> Finch feature name: None
>>>>>
>>>>> Non-finch justification: None
>>>>>
>>>>> Requires code in //chrome? All of the functional changes are in /net/ 
>>>>> but tests under /chrome/ require updates to use non 'localhost' test 
>>>>> endpoints.
>>>>>
>>>>> Tracking bug https://issues.chromium.org/issues/41251622; CL: 
>>>>> https://chromium-review.googlesource.com/c/chromium/src/+/5923046  
>>>>> <https://chromium-review.googlesource.com/c/chromium/src/+/5923046>
>>>>>
>>>>> Estimated milestones
>>>>> Shipping on desktop
>>>>> 132
>>>>> Shipping on Android
>>>>> 132
>>>>>
>>>>> 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/5134293196865536?gate=5113092281991168
>>>>>
>>>>> Links to previous Intent discussions: 
>>>>> https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/gGHOmFGEzQ0
>>>>>
>>>>>
>>>>> -- 
>>>>> 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 visit 
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8d6c447c-32ba-46af-b04e-828e69b38322n%40chromium.org
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8d6c447c-32ba-46af-b04e-828e69b38322n%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+...@chromium.org.
>>> To view this discussion visit 
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b81818f0-73ef-4703-af4c-8f8fcefd93d2n%40chromium.org
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b81818f0-73ef-4703-af4c-8f8fcefd93d2n%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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7c28576e-bee4-430e-8a8d-40c9f23fd6c8n%40chromium.org.

Reply via email to