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)

Kazuho Oku <kazuhooku@gmail.com> Sat, 17 February 2024 00:03 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=ietf.org@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 42F10C14F60F for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 16 Feb 2024 16:03:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.856
X-Spam-Level:
X-Spam-Status: No, score=-2.856 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, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="e85PEeuz"; dkim=pass (2048-bit key) header.d=w3.org header.b="fsT06/01"; dkim=pass (2048-bit key) header.d=gmail.com header.b="FGZSo5X9"
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 e-H9VPWRYSM2 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 16 Feb 2024 16:03:09 -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 6807FC151061 for <httpbisa-archive-bis2Juki@ietf.org>; Fri, 16 Feb 2024 16:02:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Content-Type:Cc:To:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To; bh=8osjFmtX9ak4Tqe/vbeZINaKFfrq2KXmT2VrF9ERaaU=; b=e85PEeuzKd/1BfVPbyVUWMg30u 5ybkotmtLitP8rl5kwR8JkoAYUXnSFYLDlm4T5dUrviCqEoBzYiSEobhTfl+ES8m8XeVdOuIn3X/6 IvSlSJJe7LHRGYpDrU9Eef74Auq8yNp+i40H7HpxUArVHLqZ+1SujDG+1kCyXR3GGomD9MvFRgb58 juo6qkGClZQjXkQWvJLzqXVuDoXeOt3o3eiFvln0NQa2Z9KqMEQjYSCf7bRGCH63bsGVj7C2L71Zg iIYadnSuLy70ZyMmtENM4SClNQ/5PEnxn3xpkNTKDAjxk17g5PJZQazR9oXxfL5CT4jaTNds9UaSF UJmOlrmw==;
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1rb8AB-00BTnm-Pl for ietf-http-wg-dist@listhub.w3.org; Sat, 17 Feb 2024 00:02:39 +0000
Resent-Date: Sat, 17 Feb 2024 00:02:39 +0000
Resent-Message-Id: <E1rb8AB-00BTnm-Pl@lyra.w3.org>
Received: from puck.w3.org ([34.196.82.207]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <kazuhooku@gmail.com>) id 1rb8AA-00BTmg-3Y for ietf-http-wg@listhub.w3.org; Sat, 17 Feb 2024 00:02:38 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To; bh=8osjFmtX9ak4Tqe/vbeZINaKFfrq2KXmT2VrF9ERaaU=; t=1708128158; x=1708992158; b=fsT06/01xjv9oDGDK9OTFK90OyQGPtZ7WK+TXZI/vMHHa+thuxSO6JuTnrlUAj68wFS4rwD8ggS 1CiHGeylUtQ0fzSTaRSR1VuSRkkxryUv2xGYTThNK577U4TeYq8uaFkqIRXedgGAU3XWpzdMUOoBX GG/dzy0pW1JZG5pz7v+z9ke8k8g+dJaih+93jUIUklZT5vMIqJGrPpQCBo75Ls8UG01BriaD7xhkc iqyN4IlglCXCAtf0urC5FNT1ZHnNSKLECETUu2X+30d5/utTYBhG0ANCIAe71V7kNP4V9+VbXjlBm oS6vIdW/Zxo1b0CkLVdpNJ697CXZltqRCzLA==;
Received-SPF: pass (puck.w3.org: domain of gmail.com designates 2a00:1450:4864:20::631 as permitted sender) client-ip=2a00:1450:4864:20::631; envelope-from=kazuhooku@gmail.com; helo=mail-ej1-x631.google.com;
Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <kazuhooku@gmail.com>) id 1rb8A9-000aaa-12 for ietf-http-wg@w3.org; Sat, 17 Feb 2024 00:02:37 +0000
Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-a26fa294e56so387512466b.0 for <ietf-http-wg@w3.org>; Fri, 16 Feb 2024 16:02:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708128153; x=1708732953; darn=w3.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=8osjFmtX9ak4Tqe/vbeZINaKFfrq2KXmT2VrF9ERaaU=; b=FGZSo5X9Cf3/WWCwc+cPMvFPkrjdQrSf+cM8vmhYdB+eCIttJLEvOqlz5FCw0MnC+U c6sAmthMljccsKO9Q1fpELowdlUjFHqCjYMvHIHm52gKJMcwX+E16P/SBb8apXIIhaKp 0L45K3X+c3yFOlTsHFJ8435NISXM625Adrdvym52H7cXKtI5eeuuSVYg+o3z/VbvJJkq 3u4DMfIayJnGmnOEJSOzQgVavqpzWTEq5cJ6qWGKXVgvhkmtvXYgt3IgnLNuOH2lGoAJ zEEfme/sLCyQIh0ZvWN4QgizHNGwl0osrBnJGjyOz6lirEXhyvzz2pbG2DvCRAKC6R20 r3RQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708128153; x=1708732953; h=content-transfer-encoding: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=8osjFmtX9ak4Tqe/vbeZINaKFfrq2KXmT2VrF9ERaaU=; b=U1mkCYHDthX4D+ypJQkDs34g1mGV37R3d3fGi8XGuMFkDOKP/0abiGS6xG4M52G5Tg 1tCBg3mKrH9RDHsaN5djKW4dzHlgz98nuCj8KjZ08h3xmgxFibkb7BHzUTEGnFHrwJFv 9abLhdki/Oy9+gNS8evXfNkEVjPU4rAT5vI2vgB/QN0SZ0f6LTVG2synokvmbXqgKn+g socE89lZOsRoTWChNwrP4euS51fKyDbjvBHKG0Ezu3AakQ5gC8k4uFC5qUlcBCZHiaTk 6XySa3C12yaZvKsSdPDeaNPcLf+fPki3196w5pzRw2nPMW3YI74kHnSHcIoiPCBaxzvd bsPQ==
X-Forwarded-Encrypted: i=1; AJvYcCWhanNho9zP8dz4eJ6dOgU8OFjKZBquTGDhekn52kUSgxCsAvQE6R5S/UCE3H9dPifLK2T1MJIrrLzqxo6D+6ORjjDH
X-Gm-Message-State: AOJu0Yzw3tt1ohpuxCxYo+mXXFXFFNFto7ch3oZ9zSMXy+lY57Ku6SAu XqHq/cbOCsVks8q3U9TIgRFwheD8Bg7TSbSOXtx8Mb87y6JKjZ/xZAd0N/vIpGLaTTkb109BW6R q7HDdJ28P6aBE1DObs44Azl9AtO0=
X-Google-Smtp-Source: AGHT+IGChNQ+C+xdiZVIvNmOl4wWuc1EwZMYd2Tvl3B8tyEzWLKULc4/xST3HZP9Mwua28hvzH4ExniPhwC7aaDBMTE=
X-Received: by 2002:a17:906:480d:b0:a3d:14ce:d95 with SMTP id w13-20020a170906480d00b00a3d14ce0d95mr4441950ejq.47.1708128153223; Fri, 16 Feb 2024 16:02:33 -0800 (PST)
MIME-Version: 1.0
References: <170807134367.25372.9131938145722079298@ietfa.amsl.com> <CANatvzyLJnZH9UHaSoMWbv20VhEtAzY7HqRHCSWt-O65f24uwQ@mail.gmail.com> <CAAZdMafuJfWmFkqOwvrWOEwtMfSRGfCpeZsUFqsFdaYmLhWbHw@mail.gmail.com>
In-Reply-To: <CAAZdMafuJfWmFkqOwvrWOEwtMfSRGfCpeZsUFqsFdaYmLhWbHw@mail.gmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Sat, 17 Feb 2024 09:02:21 +0900
Message-ID: <CANatvzxsmXk99rFPYGvq-x6aL6bk4cmwWyw9VXbQ5F3FEnhOZA@mail.gmail.com>
To: Victor Vasiliev <vasilvv@google.com>
Cc: IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>, Lucas Pardue <lucas@lucaspardue.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-W3C-Hub-DKIM-Status: validation passed: (address=kazuhooku@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-9.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, DMARC_PASS=-0.001, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1rb8A9-000aaa-12 3eea308b658ee0c17fa792c0f05b478d
X-Original-To: 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)
Archived-At: <https://www.w3.org/mid/CANatvzxsmXk99rFPYGvq-x6aL6bk4cmwWyw9VXbQ5F3FEnhOZA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51788
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/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

2024年2月16日(金) 18:29 Victor Vasiliev <vasilvv@google.com>:
>
> Hello Kazuho,
>
> The goals of draft-kazuho-quic-quic-on-streams appear to be very similar to draft-ietf-webtrans-http2, although the latter takes a different approach (it redefines all of the QUIC frames it needs manually rather than modifying existing QUIC frames).  It would be nice if we had a single answer to the "I want to run QUIC over TCP" problem.

Victor, thank you for your comments.

I concur.

Historically, we've operated under the assumption that H2 and H3 must
coexist. That has been the tone at HTTP WG. It was a logical choice
for WebTransport to start by defining its own way of conveying streams
atop HTTP/2. That work had to be done, I wholeheartedly appreciate the
efforts.

But now that QUIC has taken off, it might be the right time to explore
ways to convey QUIC over streams that extend beyond the current scope
of WebTransport over H2. This effort would benefit not only
WebTransport over H2 but also H3 and new application protocols being
developed on top of QUIC.

>
> Cheers,
>   Victor.
>
> On Fri, Feb 16, 2024 at 3:25 AM Kazuho Oku <kazuhooku@gmail.com> 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



-- 
Kazuho Oku