Re: New Version Notification for draft-momoka-httpbis-settings-enable-websockets-00.txt
Momoka Yamamoto <momoka.my6@gmail.com> Fri, 20 January 2023 18:10 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 43567C14E511 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 20 Jan 2023 10:10:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.5
X-Spam-Level:
X-Spam-Status: No, score=-7.5 tagged_above=-999 required=5 tests=[AD_PREFS=0.25, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ywttBnP8fuJJ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 20 Jan 2023 10:10:25 -0800 (PST)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3F4DC14CEE4 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 20 Jan 2023 10:10:24 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1pIvo8-008031-Jy for ietf-http-wg-dist@listhub.w3.org; Fri, 20 Jan 2023 18:08:08 +0000
Resent-Date: Fri, 20 Jan 2023 18:08:08 +0000
Resent-Message-Id: <E1pIvo8-008031-Jy@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <momoka.my6@gmail.com>) id 1pIvo6-007zuU-I7 for ietf-http-wg@listhub.w3.org; Fri, 20 Jan 2023 18:08:06 +0000
Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by mimas.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <momoka.my6@gmail.com>) id 1pIvo4-00Cnj6-NW for ietf-http-wg@w3.org; Fri, 20 Jan 2023 18:08:06 +0000
Received: by mail-ed1-x531.google.com with SMTP id x36so7661855ede.13 for <ietf-http-wg@w3.org>; Fri, 20 Jan 2023 10:08:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=mqp/EWSd456j/2BGgwcJcKNl0Spf4W5ReNaS7c5RZ4M=; b=A0woz3cOHdEiSbUf3Gh3R8GOdzpgiruveY10KGMyJcsCwn1MolNsnct8hpc5ZSFhG4 PdxDbdlaBB9VEi2zkeze7xVpUzm9CvpUWCRcck1CsKvc67tumgyYPFQm7LK0Qly6Oxav vFRPlohPzZ23UJQa48MLumjLUDuBpWjy6cWfPIbJShqja67YYhleLtIRLaNE33hKJ47C 4Ho8c9zU9AKwIkERbuLrw9fi4UcbyMotOYbyzMk4SneKVkK7xtddrjVrwIRCWkkxnUro WfFpva3BPC4L4t2yZsWpRD1yZwS9lmpb3EFVYfB/tLs88/Twv0kDgjzoMxycscXi+R1P 87Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mqp/EWSd456j/2BGgwcJcKNl0Spf4W5ReNaS7c5RZ4M=; b=KDNWeaMS+YPVPk3JJdN3QhHBxE27ZHmggIuIlAyz+ls/8JmFHSakRi2jhLJ26Q7mSv v/JEAnv8XKIAst62hxq5o9XtM4riNuG6V7zsjRJdOCRriIlMhYuBS5lQVDA00wX5bT18 QBUD3XYNem696cLM2ayC80FZgAz0S01xOugcBP+U0cDz0A7nxOIblK8e8QwNobrzAdvc P6VlMtGo0eC29aTFw8/6dEYuK5oztKYzfTdkyLYUfAxM2Ameta/GNIWurUy+WzBwcnjK wlmiTfLuUcrJrgSfj/f/57mdyFhbWrSP4wiQNtn1f2oOydLjyMagv61rgsRmBKxQrs5I guvw==
X-Gm-Message-State: AFqh2kpdJ+IPa6/Yo+ZLLQI8Rclhw7VoO2emB+4kuPPjsOFhrULfB8Xo vJ7QnVl1M/p7vc4O6Cs4FTAQ88Ura547+QN3NdU=
X-Google-Smtp-Source: AMrXdXu9NkXx5D/8YrMhCJhxUgsVBIz8jwaZC1lT5aaKETS7v72vuri3XV46Yh8tsrfx+RjN0I0XGtyil/Rh4xktVOQ=
X-Received: by 2002:aa7:cf01:0:b0:49e:d15:4b45 with SMTP id a1-20020aa7cf01000000b0049e0d154b45mr1802317edy.41.1674238073387; Fri, 20 Jan 2023 10:07:53 -0800 (PST)
MIME-Version: 1.0
References: <167308384752.44075.8810233925919235602@ietfa.amsl.com> <CAD9w2qbAGXsskcDO0Ogo6htiEj5qqT8+_RLVMuZ4ZNiepEid_Q@mail.gmail.com> <CAHbrMsDSFRHQhciZM6PYNL=qoWAK8N-g+Pd39NngBKxag62wpA@mail.gmail.com> <CALGR9oYmYid=0pMW5tCLpE1GFdz1hgTL0Vy6HDjYBSNZC1WP3A@mail.gmail.com> <CAHbrMsDKrDf7v4DLHnHUnRCK2ABZ_ZMfGy4_2PAz+g=2RhDNHQ@mail.gmail.com> <CALGR9obABt+cL2Cafkt_x9fRvu9BTD+tZmPGF7-SaDeaNYvBhA@mail.gmail.com> <CAHbrMsB2a-9U_f+AFq5L9PmQzquc=wdEWcYoR8UyN4H=LiaBzQ@mail.gmail.com> <CAD9w2qaGEG96hDrGEadMSRE+Kxr-DzuThyMmShBzjzmBarC_Jg@mail.gmail.com> <CAHbrMsBT3DQJe8jvxmpt8TPW4jhttOLkQmco9+_FpZfGUJxCRw@mail.gmail.com> <CALGR9oZfiura=WnVVX47YZx-TFY_6xvK8PckS5cXY325a859AA@mail.gmail.com>
In-Reply-To: <CALGR9oZfiura=WnVVX47YZx-TFY_6xvK8PckS5cXY325a859AA@mail.gmail.com>
From: Momoka Yamamoto <momoka.my6@gmail.com>
Date: Sat, 21 Jan 2023 03:07:41 +0900
Message-ID: <CAD9w2qajqHy+JbSPGKUjfPL0Bh94CaOyNn=iRouBS1PWRUBZkA@mail.gmail.com>
To: Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: Ben Schwartz <bemasc@google.com>, ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="000000000000a23cfb05f2b5ed3d"
Received-SPF: pass client-ip=2a00:1450:4864:20::531; envelope-from=momoka.my6@gmail.com; helo=mail-ed1-x531.google.com
X-W3C-Hub-DKIM-Status: validation passed: (address=momoka.my6@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-3.6
X-W3C-Hub-Spam-Report: AD_PREFS=0.25, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1pIvo4-00Cnj6-NW 038051dc1bc373f503edad000ed98a51
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-momoka-httpbis-settings-enable-websockets-00.txt
Archived-At: <https://www.w3.org/mid/CAD9w2qajqHy+JbSPGKUjfPL0Bh94CaOyNn=iRouBS1PWRUBZkA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/40693
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Hello, Thanks for helping me to understand the motivation for this proposal. Do >> you believe there are existing origins that >> 1. Offer SETTINGS_ENABLE_CONNECT_PROTOCOL in HTTP/3 AND >> 2. Operate WebSocket services AND >> 3. Don't support WebSocket over HTTP/3 AND >> 4. Are not willing to implement WebSocket over HTTP/3 >> ? >> >> If so, then I agree we have a problem. If not, I think the best course >> of action is to assume that the origin's supported "Upgrade >> Tokens"/":protocol values" are independent of HTTP version, except where >> the IETF has ruled out support for a particular combination of :protocol >> and HTTP version. >> > > I think this is an excellent way to look at the landscape. > > My take is that SETTINGS_ENABLE_CONNECT_PROTOCOL declares that a H2 or H3 > server is willing to consider a request with the :protocol pseudo-header as > valid syntax. There's nothing saying what values of :protocol it has it has > to support. > > To question 4, I'd say that is equally a product question as much a > technical one. RFC 8441 has been knocking around a while but my feeling is > that deployments are light. There could be situations where interop or > implementation bugs mean WebSockets over HTTP/X behave badly while > WebSockets over HTTP/Y are fine, meanwhile WebTransport over X and Y also > work fine. In that scenario, temporarily disabling a problem variant until > it can be investigated and fixed is helpful, because the other variants can > continue delivering the feature. So allowing fine tuned control over > variants, such as via an explicit WebSocket setting, would seem to satisfy > the server and stop the client from having to guess. > For Ben's question with the 4 statements, 3 and 4 are very likely to be yes because there are close to no servers implementing WebSockets over HTTP/3 at the moment. So then the question will be, "if a server Operate WebSocket services, will the server never use extended CONNECT mechanisms such as WebTransport?" And I think this is an assumption that should not be made. It would be nice if a client could know if the existing HTTP/3 connection >>> supports bootstrapping WebSockets. >>> >> >> In my view, clients are free to assume this when they see a wss:// link >> to an origin that offers SETTINGS_ENABLE_CONNECT_PROTOCOL in HTTP/3. >> > > Thanks for the earlier link to Chrome's behaviour, it helps to frame the > discussion. Quoting it for ease > > > This would only be used for secure WebSockets requests, and only if > there is already an HTTP/2 connection where the server has already > advertised support for WebSockets over HTTP/2 via the HTTP/2 SETTINGS > parameter defined in the specification. > > SETTINGS_ENABLE_CONNECT_PROTOCOL doesn't imply that bootstrapping > websockets is supported IMO, which would mean this assumption doesn't > strictly hold true. Content that includes a wss:// parameter could be > generated without any knowledge of the various caches or edges features - > there's typically administrative and business relationships between these > groups. > > Since Chrome only sends WebSocket over HTTP/2 on a warm connection with a > SETTING of a particular value, changing that value to be > SETTINGS_ENABLE_WEBSOCKET instead seems like it aligns well with the > current flow and wouldn't be too disruptive. > > For reference, WebTransport over HTTP/3 has been discussing related > matters; see > https://github.com/ietf-wg-webtrans/draft-ietf-webtrans-http3/issues/68. > My understanding is that the discussion has aligned on advertising all > "layered settings", that is, advertising SETTINGS_ENABLE_CONNECT_PROTOCOL > and SETTINGS_ENABLE_WEBTRANSPORT. Defining SETTINGS_ENABLE_WEBSOCKETS would > be consistent with that. > One thing that was very confusing for me when reading RFC8441 was that it's about "Bootstrapping WebSockets with HTTP/2" but it defines a general purpose HTTP/2 Extended CONNECT mechanism and SETTINGS_ENABLE_CONNECT_PROTOCOL. A new settings frame will minimise this confusion. And even if we follow Dragana's draft, SETTINGS_ENABLE_WEBSOCKETS will still be needed to distinguish between advertising support for :protocol pseudo-headers and support for WebSockets. Momoka
- Fwd: New Version Notification for draft-momoka-ht… Momoka Yamamoto
- Re: New Version Notification for draft-momoka-htt… Ben Schwartz
- Re: New Version Notification for draft-momoka-htt… Lucas Pardue
- Re: New Version Notification for draft-momoka-htt… Wenbo Zhu
- Re: New Version Notification for draft-momoka-htt… Ben Schwartz
- Re: New Version Notification for draft-momoka-htt… Lucas Pardue
- Re: New Version Notification for draft-momoka-htt… Ben Schwartz
- Re: New Version Notification for draft-momoka-htt… Momoka Yamamoto
- Re: New Version Notification for draft-momoka-htt… Ben Schwartz
- Re: New Version Notification for draft-momoka-htt… Lucas Pardue
- Re: New Version Notification for draft-momoka-htt… Momoka Yamamoto
- Re: New Version Notification for draft-momoka-htt… Momoka Yamamoto
- Re: New Version Notification for draft-momoka-htt… Glenn Strauss
- Re: New Version Notification for draft-momoka-htt… Lucas Pardue
- Re: New Version Notification for draft-momoka-htt… Glenn Strauss
- Re: New Version Notification for draft-momoka-htt… Lucas Pardue
- Re: New Version Notification for draft-momoka-htt… Ilari Liusvaara
- Re: New Version Notification for draft-momoka-htt… Momoka Yamamoto
- Re: New Version Notification for draft-momoka-htt… Momoka Yamamoto