Re: New Version Notification for draft-momoka-httpbis-settings-enable-websockets-00.txt
Lucas Pardue <lucaspardue.24.7@gmail.com> Thu, 19 January 2023 00:34 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 05CC4C1522DB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 18 Jan 2023 16:34:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.8
X-Spam-Level:
X-Spam-Status: No, score=-4.8 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_MED=-2.3, 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 MOwwVT3T1ZTt for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 18 Jan 2023 16:34:23 -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 118A7C14F72D for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 18 Jan 2023 16:34:22 -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 1pIIsM-002VwT-EG for ietf-http-wg-dist@listhub.w3.org; Thu, 19 Jan 2023 00:33:54 +0000
Resent-Date: Thu, 19 Jan 2023 00:33:54 +0000
Resent-Message-Id: <E1pIIsM-002VwT-EG@lyra.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <lucaspardue.24.7@gmail.com>) id 1pIIsK-002VvA-Kn for ietf-http-wg@listhub.w3.org; Thu, 19 Jan 2023 00:33:52 +0000
Received: from mail-oa1-x35.google.com ([2001:4860:4864:20::35]) by titan.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <lucaspardue.24.7@gmail.com>) id 1pIIsH-001yiP-0i for ietf-http-wg@w3.org; Thu, 19 Jan 2023 00:33:52 +0000
Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-1433ef3b61fso843109fac.10 for <ietf-http-wg@w3.org>; Wed, 18 Jan 2023 16:33:50 -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=ILpDPPRgGW8mqN9hNSzjSm0hEwfz3Gd+npuFn+DCoFA=; b=AXK8ZQl1kzlIQwWGWAwlIxzKzjD4dfIi8+exvpRys9eQFUITgDODNCkWXIO+kLhCSC 9jvlB5zE5ZKJBzXarEEC8Zrcp33+zUs0IBBp9DbXJKQZ6FWFERLwsDN9sLJ9itF9VN/A G2hbjhYePzzhTBI6jx1iOjE+WSxIqbWwlyVyUDaWX46Oohq3503ybEMPPqgdjm7BeHBy 6x/4TiGXHAYX2F311dlSzH3XE2gGc3YzF6GOxpEe/pErWlzcji8UlVu19w1m6mpyYYEp X0TuHB3PeIdAtArtVopgmMnpQ5xtrCZ9ZUnuabD9Nj43Shl1fEqNH+jSZtg/VehKGzTT TUuA==
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=ILpDPPRgGW8mqN9hNSzjSm0hEwfz3Gd+npuFn+DCoFA=; b=10ZJr12Pd3bdBxWIY93ffjYF+fEbMsOoy40q5dTyx0EAK40dihSocrY5gARZ+7AJLc eH91Jwb4nMD8u2xlzeRRBSq73+lpa/trG4ucCgo6OO+FwyS7EVsUqWKXanNVYXQlOo4p BoCf/MpymhqqmYJPEhAL4zHU3L320JinnfCYqJkDVBv6Opqxj2kz40bNsBmzSKh3/NV4 IGc/T0WUM514DB6X2NGxBIxspG0Upd1yi/eCiNjsQl/3WCAaUpsNM+0+Uwd8hixtr2KT /GoMqXF8zl4mLDG6Y+llE/TTWNZWF8/qGrylxAIuwNU7raIE5VWNA5+lv2DeezYjQAkI Q6kw==
X-Gm-Message-State: AFqh2kqC+QBuBHijJqlZI8jup563UJtThgJ+K7HWCt2yVyP2gfhmyqMa PtZHz5c5SH+7aB543zcvIsjq4Vm9VQ6jJ1X7BqE=
X-Google-Smtp-Source: AMrXdXtF2uD1HmrHiUaggC9wvXOEXK3YTnatr5NUdfcDhrsCHKfy+HeKytH7XUxBtH/BSGCUqGZgBHSQqmxUdYOsBlE=
X-Received: by 2002:a05:6870:6605:b0:14f:bdc3:ab23 with SMTP id gf5-20020a056870660500b0014fbdc3ab23mr891766oab.240.1674088419969; Wed, 18 Jan 2023 16:33:39 -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>
In-Reply-To: <CAHbrMsDKrDf7v4DLHnHUnRCK2ABZ_ZMfGy4_2PAz+g=2RhDNHQ@mail.gmail.com>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Thu, 19 Jan 2023 00:33:28 +0000
Message-ID: <CALGR9obABt+cL2Cafkt_x9fRvu9BTD+tZmPGF7-SaDeaNYvBhA@mail.gmail.com>
To: Ben Schwartz <bemasc@google.com>
Cc: Momoka Yamamoto <momoka.my6@gmail.com>, ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="000000000000984f0205f29315ed"
Received-SPF: pass client-ip=2001:4860:4864:20::35; envelope-from=lucaspardue.24.7@gmail.com; helo=mail-oa1-x35.google.com
X-W3C-Hub-DKIM-Status: validation passed: (address=lucaspardue.24.7@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-4.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_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1pIIsH-001yiP-0i 575206eca4395b8266f7d87c6829e0eb
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/CALGR9obABt+cL2Cafkt_x9fRvu9BTD+tZmPGF7-SaDeaNYvBhA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/40687
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>
Hey Ben, On Wed, Jan 18, 2023 at 11:59 PM Ben Schwartz <bemasc@google.com> wrote: > On Wed, Jan 18, 2023 at 12:14 PM Lucas Pardue <lucaspardue.24.7@gmail.com> > wrote: > ... > >> When WebSockets over H2 was written, I might have agreed that >> SETTINGS_ENABLE_CONNECT_PROTOCOL is a signal the server supports WebSockets >> over H2. >> > > (I don't think it ever meant that.) > > >> 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. >> > > Are you sure? I think it does. Or rather, if your infrastructure does > not support WebSocket for all its HTTP versions, then wss:// URLs that > point to your infrastructure are not valid. > Imagine a CDN that is responsible for infrastructure but not content (pages). For many years pages have been served over HTTP/2 or HTTP/3 without advertising SETTINGS_ENABLE_CONNECT_PROTOCOL and wss:// scheme - everything has worked fine. Clients used HTTP/1.1 bootstrapped websockets. Even is a server offered the setting, a client might not support that feature and would act on wss:// by opening a HTTP/1.1 bootstrapped connection. Now if I want to deploy e.g. a CONNECT-UDP proxy on that CDN infrastructure, then I have to support WebSocket over HTTP/2 or HTTP/3? That seems well beyond the extent of how RFC 8441 was written. In this scenario, removing the wss:// from the content isn't an option, it will just break the purpose of the page. > > >> For instance, I might theoretically like to roll out support for >> WebTransport and never roll out WebSockets. >> > > That's fine, and has nothing to do with this. However, you can't roll out > WebTransport only on HTTP/X, and not on HTTP/Y, if your system offers both > HTTP/X and HTTP/Y. You have to roll it out on all versions before > customers are allowed to use it. > > 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. >> > > I don't think this will work. Regardless of how the error is reported > (via SETTINGS or via an HTTP error code), there is no requirement (e.g. in > RFC 8441) that clients respond to an error by retrying a WebSocket setup > using a different HTTP version, even if some clients today have some degree > of fallback behavior. > > In the general case, this would be sheer madness. For example, if I try > WebTransport over HTTP/2, but the server says > SETTINGS_ENABLE_CONNECT_PROTOCOL is not supported, should I retry it over > HTTP/1.1 or HTTP/3? > I mean that seems like a problem that WebTransport should design for. AFAIK there is no WebTransport mapping to HTTP/1.1. Again, I can't control the content, so if somebody includes JavaScript that uses the WebTransport API, and has configured the CDN to disable HTTP/2 or HTTP/3 support, then there's several possible failure scenarios. Even if the CDN supports CONNECT_PROTOCOL on all versions and all versions are enable, if the client attempts to use WebTransport over HTTP/3 and the local network is blocking UDP, what is the fallback logic there? This all gets a lot more complicated if websockets or webtransport are run on third-party domains. And it also gets complicatedif we consider multi-CDN and the mess that Alt-Svc is making there. For a single orign that is running all of its own infratructure I might agree that it should be self-consistent. But adding intermediaries into the mix creates separation of concerns and responsibility that make it a lot harder. Cheers, Lucas
- 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