Re: New Version Notification for draft-momoka-httpbis-settings-enable-websockets-00.txt
Wenbo Zhu <wenboz@google.com> Wed, 18 January 2023 17:47 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 DBAF4C14F721 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 18 Jan 2023 09:47:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.249
X-Spam-Level:
X-Spam-Status: No, score=-15.249 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, 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, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 lrtYuExi6Ger for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 18 Jan 2023 09:47:56 -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 EC83FC14E513 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 18 Jan 2023 09:47:55 -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 1pICX6-001UgH-I8 for ietf-http-wg-dist@listhub.w3.org; Wed, 18 Jan 2023 17:47:32 +0000
Resent-Date: Wed, 18 Jan 2023 17:47:32 +0000
Resent-Message-Id: <E1pICX6-001UgH-I8@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 <wenboz@google.com>) id 1pICX4-001Uez-RT for ietf-http-wg@listhub.w3.org; Wed, 18 Jan 2023 17:47:30 +0000
Received: from mail-yw1-x112f.google.com ([2607:f8b0:4864:20::112f]) by mimas.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <wenboz@google.com>) id 1pICX3-00BnVB-2I for ietf-http-wg@w3.org; Wed, 18 Jan 2023 17:47:30 +0000
Received: by mail-yw1-x112f.google.com with SMTP id 00721157ae682-4d59d518505so309850827b3.1 for <ietf-http-wg@w3.org>; Wed, 18 Jan 2023 09:47:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.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=e8NEt7JrIcs9ac7FlpDGZhUkZjK3OZb81hIMigME9VQ=; b=YAEw0jTIXlPjB2d+b5nKBpIEty368r6ywD4oaPHy3xeIfgUq+rsdqa1ZzTCOgTly8b TE37GfyFuoJvZOa+m+Uvq4s9pwnhBfXF/32/AtRlBQxuAPODRDqkOhXiDNnfaOFzVefN zhhUF3vCC7bDrJupP2awiisxHzLj5PyycbAZj7KDxlsdAoPfZjpqKxg6kiyU2KR5oT5n iaQ3V/5N3zVNS4FHHxv4ThC8SnlI1wl69HqWLJChQaHrxYa4IglB3tYnhAPtB8OMwQ1z OZEe5Fh5ccSpCudQHotQSC140lK0qesp1C/Lpz7uuSCmDemD7QTAeFQWsX7sPcbLq4CI oUrw==
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=e8NEt7JrIcs9ac7FlpDGZhUkZjK3OZb81hIMigME9VQ=; b=608G0XUM//9u6KxLv9twrld2WziEivJSISmPjJuy91csxmyPZGtKGb68Qgmrn8Ti4a JGAcoeG9A60NFjffSm/3kQetwhdFZU0exqm6f4A1xs5syc94uGFiUsckgHUoLyqsgH7W qofzy63traSZHNTioDfQdtOTKCvzd8lt2y7v+13SjwwtHjKwQJd6wP4gR2KxcWrE1uni HwQVHJ55mmrD+EryZEa9Bme9o6OVEOscw6gQi5MAh4+YRnJrm6XgPwY9EaysjACWWap3 tEEf8wK5EPWGxTWXrWt+Yt1DopoSIfAnkAfC/fHUj6YdzvuJdzks9doYpkGR36gPPtFt LNBQ==
X-Gm-Message-State: AFqh2kpJTddZiTrasrDyB7bAhQGTgexItXJ1nWME4TSUgLDt1v7dizp5 lFXBTeGIz5dyuUqPVGvULsO5flRPyNUFmTJCGXVseQ==
X-Google-Smtp-Source: AMrXdXshZ6riGQhIYF01jSgf6XqMEPaZEda3glbs7xOlsyJCy9wxHcB0mTyoTT7HO900sbSbDroAeKqDL7bdZOvRH3k=
X-Received: by 2002:a0d:e20f:0:b0:4dd:8c26:5338 with SMTP id l15-20020a0de20f000000b004dd8c265338mr1065814ywe.513.1674064037022; Wed, 18 Jan 2023 09:47:17 -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>
In-Reply-To: <CALGR9oYmYid=0pMW5tCLpE1GFdz1hgTL0Vy6HDjYBSNZC1WP3A@mail.gmail.com>
From: Wenbo Zhu <wenboz@google.com>
Date: Wed, 18 Jan 2023 09:47:05 -0800
Message-ID: <CAD3-0rMdB=KD4z0S_+yTc8J03fqiYBApah8NGigikjq4KXF83Q@mail.gmail.com>
To: Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: Ben Schwartz <bemasc@google.com>, Momoka Yamamoto <momoka.my6@gmail.com>, ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="0000000000004284cd05f28d6864"
Received-SPF: pass client-ip=2607:f8b0:4864:20::112f; envelope-from=wenboz@google.com; helo=mail-yw1-x112f.google.com
X-W3C-Hub-DKIM-Status: validation passed: (address=wenboz@google.com domain=google.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-20.6
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1pICX3-00BnVB-2I 976162bc5fb72f4dd2dfa9000cd1d2c0
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/CAD3-0rMdB=KD4z0S_+yTc8J03fqiYBApah8NGigikjq4KXF83Q@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/40685
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>
On Wed, Jan 18, 2023 at 9:16 AM Lucas Pardue <lucaspardue.24.7@gmail.com> wrote: > Hi Momoka, > > Thanks for sharing your proposal. If I understand the use case, Dragana > made a proposal to address some similar problems a little while back [1] > (albeit solving the problem in a different way). Just in case you didn't > catch it the first time around, and the discussion thread for that proposal > probably has some useful background [2]. > > I think the value of any solution to this class of problem depends on how > much pain the decision about what connection to use causes. IHMO that > mostly comes down to a matter of latency. > > For example, in one case, where a web browser has an HTTP/2 connection > open to navigate a page, which then leads to a loading a document that > includes an wss:// URL, by that time the proposed > SETTINGS_ENABLE_WEBSOCKETS would likely have been received and the browser > can make an informed choice whether to try to open a WebSocket stream or > to. > > However, in cases where there is no active connection, then the client is > going to have to create one and wait for the server SETTINGS before knowing > what to do. That has latency and is a gamble. Without some client-side > caching of the server support, it might be a safer gamble to just always > try HTTP/1.1. > > When WebSockets over H2 was written, I might have agreed that > SETTINGS_ENABLE_CONNECT_PROTOCOL is a signal the server supports WebSockets > over H2. But now we're adding multiple :protocol values into the mix with > MASQUE and WebTransport. Just because a page loaded over my infrastructure > includes a wss::// URL, it doesn't mean my infrastructure supports it for > all HTTP versions. For instance, I might theoretically like to roll out > support for WebTransport and never roll out WebSockets. > > Whether a request can be serviced is a property of the target resource. So > if I had a server that understood CONNECT but wanted to reject :protocol: > websocket, then perhaps returning a 405 Method Not Allowed would be more > appropriate than a 501. > > Which gets me thinking, maybe we should be designing a way for clients to > query the :protocols supported for a target resource or a server. The > OPTIONS methods can carry the query, however, the :protocol pseudo-header > cannot be sent directly in the response, so another header might be > required - I'd write that up if there's interest. > > If a browser is already making pre-flight OPTIONS requests for a WebSocket > due to CORS, this approach would seem to align with that. > My understanding is that this is not the case, i.e. no preflight or CORS for websockets. I would be interested in the background behind it. > Cheers > Lucas > > [1] - > https://datatracker.ietf.org/doc/draft-damjanovic-websockets-https-rr/ > [2] - > https://lists.w3.org/Archives/Public/ietf-http-wg/2021OctDec/0052.html > > On Wed, Jan 18, 2023 at 4:22 PM Ben Schwartz <bemasc@google.com> wrote: > >> This draft says >> >> Suppose the server supports extended CONNECT but not bootstrapping >>> WebSockets over that HTTP connection. In this case, the client sending a >>> WebSocket handshake request will result in a response of 501 (Not >>> Implemented) status code (Section 15.6.2 of [HTTP]), and the client would >>> need to fall back to trying the WebSocket handshake over HTTP/1. >> >> >> I don't think this is correct. If the client encountered this error >> code, it would just fail the WebSocket setup attempt. >> >> In general, I don't think we should be asking clients to retry requests >> across different HTTP versions. If you publish wss:// URIs for your >> domain, you need to support WebSocket on all the domain's HTTP versions. >> >> >> On Wed, Jan 18, 2023 at 10:45 AM Momoka Yamamoto <momoka.my6@gmail.com> >> wrote: >> >>> >>> Hello, >>> >>> I have submitted an internet-draft proposing a SETTINGS_ENABLE_WEBSOCKETS >>> settings parameter. >>> With WebSockets not being the only protocol that uses extended CONNECT ( >>> https://github.com/ietf-wg-webtrans/draft-ietf-webtrans-http3/issues/68#issuecomment-1310323592 >>> ), >>> Before starting the WebSocket handshake, it will be nice to know if the >>> server supports bootstrapping WebSockets over HTTP/2 or HTTP/3. >>> >>> I would love to know your thoughts >>> >>> Momoka Y >>> >>> ---------- Forwarded message --------- >>> From: <internet-drafts@ietf.org> >>> Date: Sat, Jan 7, 2023 at 6:30 PM >>> Subject: New Version Notification for >>> draft-momoka-httpbis-settings-enable-websockets-00.txt >>> To: Momoka Yamamoto <momoka.my6@gmail.com> >>> >>> >>> >>> A new version of I-D, >>> draft-momoka-httpbis-settings-enable-websockets-00.txt >>> has been successfully submitted by Momoka Yamamoto and posted to the >>> IETF repository. >>> >>> Name: draft-momoka-httpbis-settings-enable-websockets >>> Revision: 00 >>> Title: SETTINGS_ENABLE_WEBSOCKETS settings parameter for HTTP/2 >>> and HTTP/3 >>> Document date: 2023-01-07 >>> Group: Individual Submission >>> Pages: 5 >>> URL: >>> https://www.ietf.org/archive/id/draft-momoka-httpbis-settings-enable-websockets-00.txt >>> Status: >>> https://datatracker.ietf.org/doc/draft-momoka-httpbis-settings-enable-websockets/ >>> Html: >>> https://www.ietf.org/archive/id/draft-momoka-httpbis-settings-enable-websockets-00.html >>> Htmlized: >>> https://datatracker.ietf.org/doc/html/draft-momoka-httpbis-settings-enable-websockets >>> >>> >>> Abstract: >>> This document proposes a new HTTP settings parameter, >>> SETTINGS_ENABLE_WEBSOCKETS. This parameter indicates whether the >>> server supports bootstrapping WebSockets over the established >>> connection. >>> >>> >>> >>> >>> The IETF Secretariat >>> >>> >>>
- 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