Re: Ambiguity on HTTP/3 HEADERS and QUIC STREAM FIN requirement

Willy Tarreau <w@1wt.eu> Fri, 17 June 2022 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 B6FA8C15D86E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 17 Jun 2022 10:47:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.661
X-Spam-Level:
X-Spam-Status: No, score=-7.661 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, 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, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
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 8EftTCYeiY28 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 17 Jun 2022 10:47:54 -0700 (PDT)
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 D2223C157B34 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 17 Jun 2022 10:47:54 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1o2G3n-0005Rn-KD for ietf-http-wg-dist@listhub.w3.org; Fri, 17 Jun 2022 17:47:07 +0000
Resent-Date: Fri, 17 Jun 2022 17:47:07 +0000
Resent-Message-Id: <E1o2G3n-0005Rn-KD@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <w@1wt.eu>) id 1o2G3l-0005Qd-NW for ietf-http-wg@listhub.w3.org; Fri, 17 Jun 2022 17:47:05 +0000
Received: from wtarreau.pck.nerim.net ([62.212.114.60] helo=1wt.eu) by mimas.w3.org with esmtp (Exim 4.92) (envelope-from <w@1wt.eu>) id 1o2G3k-00016R-Bt for ietf-http-wg@w3.org; Fri, 17 Jun 2022 17:47:05 +0000
Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id 25HHkonp031208; Fri, 17 Jun 2022 19:46:50 +0200
Date: Fri, 17 Jun 2022 19:46:50 +0200
From: Willy Tarreau <w@1wt.eu>
To: David Schinazi <dschinazi.ietf@gmail.com>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, Martin Thomson <mt@lowentropy.net>, HTTP Working Group <ietf-http-wg@w3.org>
Message-ID: <20220617174650.GA31189@1wt.eu>
References: <CAPDSy+5-+L_F8gOYht2OWmWHnp4JtWt4tfPbM_TN799AgK7H1A@mail.gmail.com> <71b309c9-0220-4e14-8be5-13f2cb1d1278@beta.fastmail.com> <20220617045330.GB30314@1wt.eu> <d2a71dca-1c0d-416e-8f94-700114266aaf@beta.fastmail.com> <20220617053700.GD30314@1wt.eu> <b5e21b22-e447-4ba1-b907-e2785deb2d5d@beta.fastmail.com> <20220617101722.GA30560@1wt.eu> <CALGR9oba=7Ajf2p+hf+yNVGiaQ1=Vwarq5iPxCmUxLMT_7m0AQ@mail.gmail.com> <20220617104853.GA30707@1wt.eu> <CAPDSy+59E4MJ+OkEEEUN_XykEg8qy7AQPTUs5J0XuKOhomCXLQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAPDSy+59E4MJ+OkEEEUN_XykEg8qy7AQPTUs5J0XuKOhomCXLQ@mail.gmail.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-4.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1o2G3k-00016R-Bt 4aeec141ed8349819a7f61bd06572dc3
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Ambiguity on HTTP/3 HEADERS and QUIC STREAM FIN requirement
Archived-At: <https://www.w3.org/mid/20220617174650.GA31189@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/40157
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 Fri, Jun 17, 2022 at 10:31:39AM -0700, David Schinazi wrote:
> Since it's Friday and we're exploring crazy thoughts, instead of
> ":no-content" why not simply content-length=0?

You're right that it already exists for exactly that purpose and
would work out of the box. And any intermediary will be free to
drop it when converting to H1 for methods that do not use a body
by default, and it could be used as a work-around for those that
for various reasons cannot send the FIN bit.

Then I would suggest that we'd recommend that senders emit the FIN
(or ES in H2 but that's already the case) along with the HEADERS
frame, and that if they're not able to do it, as an alternative
they should explicitly send content-length:0 to inform the recipient
that it must not expect anything else.

I'm pretty sure that we can come up with such a reasonable solution
that can end up as an implementation advice so that we don't put any
implementation into a difficult situation, so let's continue down
that route!

Willy