Well, there is, alas, still a difference because HTTP/2 + WebSockets is
complicated.  But less of one at least. :-)

(WebSockets support wasn't part of HTTP/2, and HTTP/3 for that matter, from
the beginning. That means we can't be sure an HTTP/2-supporting server
doesn't also support WebSockets, yet predate RFC 8441, and thus expect us
to drop HTTP/2 for wss requests. So while we implement RFC 8441, it only
kicks in if we happen to already have a suitable HTTP/2 connection on-hand.
If we have to make a new connection, we drop HTTP/2 and only offer
HTTP/1.1. Possibly something fancier ought to be done here, be it
out-of-band signaling, defining an "h2+wss" ALPN, some kind of fallback
like Firefox does, racing two connections, or whatever else. This Intent
would be a prerequisite to doing that, but leaves the question for later.)

On Thu, Jan 20, 2022 at 5:49 AM Mike West <mk...@chromium.org> wrote:

> LGTM2. From a Fetch perspective, there shouldn't be a difference between
> the way we establish a Web Socket connection and regular ol' HTTP requests.
> Aligning our behavior with other vendors in this respect is appreciated!
>
> -mike
>
>
> On Thu, Jan 20, 2022 at 12:22 AM Mike Taylor <miketa...@chromium.org>
> wrote:
>
>> LGTM1, thanks for improving interop here.
>>
>> On 1/19/22 3:22 PM, David Benjamin wrote:
>>
>> Contact emails david...@chromium.org
>>
>> Specification https://datatracker.ietf.org/doc/html/rfc7301
>>
>> Summary
>>
>> This is a PSA about a small tweak to an existing feature. The change is
>> to include the TLS ALPN extension when initiating a new connection for
>> wss-schemed WebSockets, offering just the default "http/1.1" protocol.
>> Currently, unlike HTTPS connections, such connections do not offer ALPN in
>> Chrome at all. Changing this aligns with Firefox and Safari, hardens
>> against cross-protocol attacks (see ALPACA), and makes wss eligible for the
>> False Start optimization. It also simplifies work on the HTTPS DNS record.
>>
>>
>> Blink component Internals>Network>SSL
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork%3ESSL>
>>
>> TAG review status Not applicable
>>
>> Risks
>>
>>
>> Interoperability and Compatibility
>>
>> Interoperability risk is low. Firefox and Safari are already both
>> offering ALPN for WebSockets requests, as does Chrome for HTTPS requests.
>> This change does not impact the HTTP version we use for WebSockets itself,
>> nor does it require servers to implement ALPN. Whether the server accepts
>> ALPN or not, we will continue to speak WebSockets over HTTP/1.1.
>>
>>
>> Gecko: Shipped/Shipping (Firefox appears to actually initially offer
>> both "h2" and "http/1.1". Then, if it finds an HTTP/2 server without RFC
>> 8441 support, it retries, only offering "http/1.1". Either way, it always
>> offers ALPN.)
>>
>> WebKit: Shipped/Shipping (Confirmed via Wireshark)
>>
>> Web developers: No signals
>>
>> Other signals:
>>
>>
>> Debuggability
>>
>> Existing DevTools support for networking and WebSockets applies
>>
>>
>> Is this feature fully tested by web-platform-tests
>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>> ?
>> n/a
>>
>> Requires code in //chrome? False
>>
>> Estimated milestones
>>
>> Chrome 100, as 99 is just about to branch
>>
>>
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/5687059162333184
>>
>> 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/CAF8qwaA1Y_GZDk0qNc_%3DhVLhye%3DScEtxjPSdEPD-mM4zpVp50Q%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAF8qwaA1Y_GZDk0qNc_%3DhVLhye%3DScEtxjPSdEPD-mM4zpVp50Q%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/26bac4d2-1d15-5ef5-d917-6ce7411ef6d3%40chromium.org
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/26bac4d2-1d15-5ef5-d917-6ce7411ef6d3%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/CAF8qwaDnKz1Kh4p--RcLBoUDk_mzMhyHx8z_1wTmFV93g-yU4g%40mail.gmail.com.

Reply via email to