Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)

Lucas Pardue <lucas@lucaspardue.com> Tue, 19 March 2024 22:40 UTC

Return-Path: <lucas@lucaspardue.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 197BCC151093 for <quic@ietfa.amsl.com>; Tue, 19 Mar 2024 15:40:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lucaspardue.com header.b="sdVYya+u"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="rO3DNFXX"
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 HtEkSndUmyOy for <quic@ietfa.amsl.com>; Tue, 19 Mar 2024 15:40:01 -0700 (PDT)
Received: from fhigh4-smtp.messagingengine.com (fhigh4-smtp.messagingengine.com [103.168.172.155]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96BCCC14F699 for <quic@ietf.org>; Tue, 19 Mar 2024 15:40:01 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailfhigh.nyi.internal (Postfix) with ESMTP id AAD9C11400E3; Tue, 19 Mar 2024 18:40:00 -0400 (EDT)
Received: from imap53 ([10.202.2.103]) by compute3.internal (MEProxy); Tue, 19 Mar 2024 18:40:00 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lucaspardue.com; h=cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1710888000; x=1710974400; bh=SvhnTMPJXI Km8MgvnAAmmEMCUXJDjhlJDr1JKiu/81o=; b=sdVYya+ugFtVANRb264lFVSThY uf19Q0WeijcWfAK8vBWzcKhhQ1gPA+WXHi64QS9dteVB89tZuoBomvzgsjMe+cmx OWyAvA4Et9OK1H1ldGSmf2TjdrDP/MTs57mEyiNQJyMadmLSibxucWqDdxgXUThG EDKaEwqflkBY0cu5Kh5RD/aINt2xlWw0UXqOVzUMc1izQkyk0M2qGi/eRjeQj67E 5OCpW7WMwA/v2bTbuy86/7YKGLM4aEqTpkQUP7ZB9vQ0itVqwT45p0AAw76Iy7Nv 1CTTFy0ucr2E/lxouJ4DqL4unqICH2o9LE71uwhexDLNrJEeO4qi1rqBiWaw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1710888000; x=1710974400; bh=SvhnTMPJXIKm8MgvnAAmmEMCUXJD jhlJDr1JKiu/81o=; b=rO3DNFXXmUIj1WddEcOVwVOgJ02l7J42wOpUQ+cFtpZT xS+ICF4swszsMhADdwJqsIFhFAV/HM8IC+JmFgawiJdx4lVuR8HMpUUz9xM1viKF lVYotme6CuN1ZhP1tauom+635kcWajgICmBKQ6JZ4iuGE8Zl1AbtM1qUsohyx0Vm 2F/Pa3D0bZxAIMkSMooDsbwXc/z07i1kcTJMvQIV2SkStMh5g6dlmIQyDg5to/8M 0DucAtwosdGyZAAH511s8oZgxFGHZttR8VnAOhap+kj1zaD713NG70up3pa1bDZB f2LpKeqcna5A66o4Z+FEXFfYp6bc3Sql3NxTmcai3Q==
X-ME-Sender: <xms:QBT6Zcg6iGnHoUuMLCw5nZGa-yLjV-qkoOw45Qgft98gxWRXJT_3Ug> <xme:QBT6ZVDTJjwdAPMF7jbX1zYJFFL8UsPD1tEtVpbh-Va5UHxfaYIeZNht8neYe2Wow BIkXqcs41w7lnpN8zU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrledugddtudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsegrtderreerreejnecuhfhrohhmpedfnfhutggr shcurfgrrhguuhgvfdcuoehluhgtrghssehluhgtrghsphgrrhguuhgvrdgtohhmqeenuc ggtffrrghtthgvrhhnpeeuueekuefhleettdelgeeggeettdduudejjeevvdeltdevffef keelkedthedvteenucffohhmrghinhepihgvthhfrdhorhhgpdhhthhtphdvrdgshidphh htthhpfeifvggtrghntghonhhsvghrvhgvvghnvghrghihrdgshienucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehluhgtrghssehluhgtrghsph grrhguuhgvrdgtohhm
X-ME-Proxy: <xmx:QBT6ZUExgqMX6CVqcHxAcEKHbIIFuFPhz8qShQ_pON1lzOpLqImB1Q> <xmx:QBT6ZdTKfqFf6_4wr1aHEb8h3fNd7vKAvEhn4CV16ajRxgq8f_fdxQ> <xmx:QBT6ZZyY6rwuzRjj6U1bC_ZV3TKvkW8GjjAZPlb_iTOLowocxUsgNw> <xmx:QBT6Zb6-ta16lCZ_BeyfffcizX56AP69dIBsgOVYGpAFAbXumSBBvw> <xmx:QBT6ZU-dXb4ut-VAN_weIDz0zta8MiEM2U6DIm_VuUhaLRiCoNuYfw>
Feedback-ID: i23b94938:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 68E3736400B5; Tue, 19 Mar 2024 18:40:00 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.11.0-alpha0-300-gdee1775a43-fm-20240315.001-gdee1775a
MIME-Version: 1.0
Message-Id: <8ac873e6-b4d3-4512-b334-81259b2140e3@app.fastmail.com>
In-Reply-To: <93cb99e8-9450-49b8-8d7b-64c425941405@app.fastmail.com>
References: <170807134367.25372.9131938145722079298@ietfa.amsl.com> <CANatvzyLJnZH9UHaSoMWbv20VhEtAzY7HqRHCSWt-O65f24uwQ@mail.gmail.com> <93cb99e8-9450-49b8-8d7b-64c425941405@app.fastmail.com>
Date: Wed, 20 Mar 2024 08:39:37 +1000
From: Lucas Pardue <lucas@lucaspardue.com>
To: IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
Subject: Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)
Content-Type: multipart/alternative; boundary="4eff7fda28cc499ba7fbfa769b8006c9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/KmTXegMf1b0QTFXz9X7EE3TDEMQ>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 19 Mar 2024 22:40:06 -0000

Apologies to remote joiners, we are dealing with some local teleconferencing issues and awaiting onsite support to resolve that. In the interest of time we've commenced the agenda. Hopefully the issue is resolved soon.

Cheers
Lucas

On Wed, Mar 13, 2024, at 06:24, Lucas Pardue wrote:
> Hi folks,
> 
> (Top posting for clarity)
> 
> There was quite a healthy discussion about these drafts. There is time scheduled on the IETF 119 agenda in both the QUIC WG and HTTP WG sessions, however the slots are brief due to the balance of time.
> 
> I've booked a room to hold an informal side meeting on 2024-03-20 Wednesday 08:30-09:30; see https://wiki.ietf.org/meeting/119/sidemeetings. This is immediately before the QUIC WG, in order to capture and disperse any salient points during the formal agenda slot. 
> 
> The room has very limited capacity. I'm particularly looking for people that have an active interest in the *transport* and *security* aspects of QUIC on streams, or those with related use cases that have we have yet to hear from. I intend to have remote participation support, so even if you're onsite, please consider using that and leaving a spot for others if you don't plan to actively contribute to discussion.
> 
> Cheers
> Lucas
> 
>  Fri, Feb 16, 2024, at 08:24, Kazuho Oku wrote:
>> Hello QUIC and HTTP enthusiasts,
>> 
>> We, Lucas and I, have submitted two drafts aimed at broadening the reach of HTTP/3 - yes, making it available over TCP as well. We are eager to hear your thoughts on these:
>> 
>> QUIC on Streams: A polyfill for operating QUIC on top of TCP.
>> https://datatracker.ietf.org/doc/html/draft-kazuho-quic-quic-on-streams
>> 
>> HTTP/3 on Streams: How to run HTTP/3 unmodified over TCP, utilizing QUIC on Streams.
>> https://datatracker.ietf.org/doc/html/draft-kazuho-httpbis-http3-on-streams
>> 
>> As the co-author of the two drafts, let me explain why we have submitted these.
>> 
>> The rationale behind our proposal is the complexity of having two major HTTP versions (HTTP/2 and HTTP/3), both actively used and extended. This might not be the situation that we want to be in.
>> 
>> HTTP/2 is showing its age. We discussed its challenges at the IETF 118 side meeting in Prague.
>> 
>> Despite these challenges, we are still trying to extend HTTP/2, as seen with WebTransport. WebTransport extends both HTTP/3 and HTTP/2, but it does so differently for each, due to the inherent differences between the HTTP versions.
>> 
>> Why are we doing this?
>> 
>> Because HTTP/3 works only on QUIC. Given that UDP is not as universally accessible as TCP, we find ourselves in a position where we need to maintain and extend not only HTTP/3 but also HTTP/2 as a backstop protocol.
>> 
>> This effort comes with its costs, which we have been attempting to manage.
>> 
>> However, if we could create a polyfill for QUIC that operates on top of TCP, and then use it to run HTTP/3 over TCP, do we still need to invest in HTTP/2?
>> 
>> Of course, HTTP/2 won’t disappear overnight.
>> 
>> Yet, by making HTTP/3 more universally usable, we can at least stop extending HTTP/2.
>> 
>> By focusing our new efforts solely on HTTP/3, we can conserve energy.
>> 
>> By making HTTP/3 universally accessible, and by having new extensions solely to HTTP/3, we can expect a shift of traffic towards HTTP/3.
>> 
>> This shift would reduce the necessity to modify our HTTP/2 stacks (we’d be less concerned about performance issues), and provide us with a better chance to phase out HTTP/2 sooner.
>> 
>> Some might argue that implementing a polyfill of QUIC comes with its own set of costs. However, it is my understanding that many QUIC stacks already have the capability to read QUIC frames other than from QUIC packets, primarily for testing purposes. This suggests that the effort would be more about leveraging existing code paths rather than writing new code from scratch. Furthermore, a QUIC polyfill would extend its benefits beyond just HTTP, by aiding other application protocols that aim to be built on top of QUIC, providing them accessibility over TCP.
>> 
>> Please let us know what you think. Best regards,
>> 
>> ---------- Forwarded message ---------
>> From: <internet-drafts@ietf.org>
>> Date: 2024年2月16日(金) 17:15
>> Subject: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt
>> To: Kazuho Oku <kazuhooku@gmail.com>, Lucas Pardue <lucas@lucaspardue.com>
>> 
>> 
>> A new version of Internet-Draft draft-kazuho-httpbis-http3-on-streams-00.txt
>> has been successfully submitted by Kazuho Oku and posted to the
>> IETF repository.
>> 
>> Name:     draft-kazuho-httpbis-http3-on-streams
>> Revision: 00
>> Title:    HTTP/3 on Streams
>> Date:     2024-02-16
>> Group:    Individual Submission
>> Pages:    5
>> URL:      https://www.ietf.org/archive/id/draft-kazuho-httpbis-http3-on-streams-00.txt
>> Status:   https://datatracker.ietf.org/doc/draft-kazuho-httpbis-http3-on-streams/
>> HTML:     https://www.ietf.org/archive/id/draft-kazuho-httpbis-http3-on-streams-00.html
>> HTMLized: https://datatracker.ietf.org/doc/html/draft-kazuho-httpbis-http3-on-streams
>> 
>> 
>> Abstract:
>> 
>>    This document specifies how to use HTTP/3 on top of bi-directional,
>>    byte-oriented streams such as TLS over TCP.
>> 
>> Discussion Venues
>> 
>>    This note is to be removed before publishing as an RFC.
>> 
>>    Discussion of this document takes place on the HTTP Working Group
>>    mailing list (ietf-http-wg@w3.org), which is archived at
>>    https://lists.w3.org/Archives/Public/ietf-http-wg/.
>> 
>>    Source for this draft and an issue tracker can be found at
>>    https://github.com/kazuho/draft-kazuho-httpbis-http3-on-streams.
>> 
>> 
>> 
>> The IETF Secretariat
>> 
>> 
>> 
>> 
>> --
>> Kazuho Oku
>