RE: Call for Consensus: Moving HTTP/3, QPACK and Recovery to the Late-Stage Process

Mike Bishop <> Mon, 11 November 2019 15:40 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E3A281208AB for <>; Mon, 11 Nov 2019 07:40:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ZLhzpHxSuYUq for <>; Mon, 11 Nov 2019 07:40:35 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 016D91208AA for <>; Mon, 11 Nov 2019 07:40:34 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=IY3RhHpyOgZPT4WJHW1zY01373RDxW71TQihCWNMag7soOc0xthpQs8CbyAmd3Jrx2XJWFbAwERcMgNvTcQ84qH9VYyEuqxqmq7gg9GczB5eMsqNh4tfWI7caaI7wzeju/crm9mszJJcAZqOIur4OtMVhdl61KhOmTvqCYzFMOYRjmJq1peFmhER5FgXFG3r0fLg7Wx1K/tRNIVmHBPmD/R4NhR406nFQQGLw1IBSPbPbbL0aHff0roeOBy8b8gK+1T1Nos6g4bc7NeHegbkJ+VSZy5wRbJKYSwKKlpuA1cUywqqAV5LvhcuetdIFfZy+HLDpIuBRSQz78E7zA0pCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=si0JOoq6m87GSun8Ui0Pw7Hv+8CpxZKXPy/atMXGzxg=; b=IfSs09KPCjYKqlmWg+CTYP+QarTtYguIXIs5YmogBWuvAWTSmMawyGJawRp12QeygCculgOQ0C21jgfGNJ7ZaZQySQRvrJj+HYORGNb8cI2KryKqpcbSOqoqNiUT4ycvGiT20LJ0QQG2fz9jShV38SbooIOHYKQRzDdpd18jZuOopHWvTANu8grlqlbhjXMVqQZrharME6sQYRMc7r7SlRGm2jXEZ77ebIn24HvL/oXyuREaabfYe71Q0RADDOcbJDiXJTwqEvhrkmrAzGP8vcRvvFG4PFWDW3EOwCeriCCprhlel7pr79z7LmajafxeTWpsisoGhJuLboVLBaZ5PA==
ARC-Authentication-Results: i=1; 1; spf=pass; dmarc=pass action=none; dkim=pass; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2-evequefou-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=si0JOoq6m87GSun8Ui0Pw7Hv+8CpxZKXPy/atMXGzxg=; b=kbqbU93dmd6Uti8W7zh1UAPQv5izsxyUfMw+fhBZLB7riIF5IDTBCTbUI1cIdFHjFihXOG8BOdZ+W1uAdMtCQ+0WUflu5Zojrsd/wbV5f5szDCZinjO8+8pSpJlFcyLcMHLjyaNs6GpF/x3V1wTNNLMzrXpcbuJt85g9JddEyNw=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.20; Mon, 11 Nov 2019 15:40:32 +0000
Received: from ([fe80::90a7:a476:168f:f85e]) by ([fe80::90a7:a476:168f:f85e%5]) with mapi id 15.20.2430.027; Mon, 11 Nov 2019 15:40:32 +0000
From: Mike Bishop <>
To: Mark Nottingham <>, Roy Fielding <>
CC: Lars Eggert <>, IETF QUIC WG <>
Subject: RE: Call for Consensus: Moving HTTP/3, QPACK and Recovery to the Late-Stage Process
Thread-Topic: Call for Consensus: Moving HTTP/3, QPACK and Recovery to the Late-Stage Process
Thread-Index: AQHVlD3tOlesd/HkOkytkq7/DuTcZKd+epaAgAazwQCAAPUcMA==
Date: Mon, 11 Nov 2019 15:40:32 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
authentication-results: spf=none (sender IP is );
x-originating-ip: [2600:2b00:931f:a301:c4a5:f2a0:f9fe:398f]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fb27c5d9-b9a1-4081-8675-08d766bd7d01
x-ms-traffictypediagnostic: DM6PR22MB1995:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0218A015FA
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(376002)(366004)(396003)(39830400003)(52314003)(13464003)(189003)(199004)(53546011)(186003)(54906003)(6436002)(86362001)(66446008)(6116002)(305945005)(55016002)(66946007)(66476007)(66556008)(76116006)(64756008)(102836004)(14444005)(256004)(508600001)(316002)(6246003)(71200400001)(71190400001)(229853002)(110136005)(74316002)(81156014)(7736002)(6506007)(25786009)(76176011)(7696005)(561944003)(81166006)(9686003)(14454004)(33656002)(46003)(99286004)(11346002)(476003)(2906002)(4326008)(966005)(6306002)(5660300002)(8676002)(446003)(52536014)(486006)(8936002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR22MB1995;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ykcZ5sEk0D2NfHL+RXZXwNSgIFbNnHWnQYGhnTPV+sE/7BSWCmqtCTcidbXkpQrg3VlPyB36NGgfB1FzIhCthhdygbwoEvrxM5Zv+3Z20M244FONDgdBpIpKe5CypQo4upvLwrp+1HCA4bx8onyRcxwYMCSx9Y2PGyNdsYo8yRTFU62F4i/pgRcMA+rez4TJcBktcLOI/iFXVBCM1o8kvCTGOJA54M7inycyixyaMf8xzLAjaEQMe9ND9Rergh0yZqEPtACDsX+b2FWOzcR3WVQbANqTyKQPUNdCLblqXQqJ5FrbTJWzx09OErSxoBCUAvYFW8/QrST3u2czXaQ0oj8O085MGhy+/1L/tjU++P9tWdP+fzarwGaxysBp8SQnN0cmEFQfNq63l6ifqF4r6ih+TY6wKNZw0krWCfIbbRe7EOXuVSRSozv52Nos5Os9zYeyITNoYWtR9agHm5FQx5KuQLFTQdJ3m8sWP0U0+J4=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: fb27c5d9-b9a1-4081-8675-08d766bd7d01
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2019 15:40:32.7233 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 41eaf50b-882d-47eb-8c4c-0b5b76a9da8f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: vcjdXwX3cCPatP0OmYDOH9nRyDik563CVqVARq/50Qmdu7Q//TkoPjeTzzmEf8hxtfFQkNp7n+XatmyZf94Cdw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR22MB1995
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 11 Nov 2019 15:40:38 -0000

I'll also note that it's relatively easy from a spec perspective to allow trailers to arrive before the end of the body, or to allow multiple sets of trailers to arrive.  I suspect most clients won't process trailers until they have the body anyway, but the real question is what clients do with multiple trailer sets.  I'm not certain whether that's in our scope or not, but that's a separate conversation.  Feel free to open an issue for that specific discussion.

-----Original Message-----
From: QUIC <> On Behalf Of Mark Nottingham
Sent: Sunday, November 10, 2019 8:01 PM
To: Roy Fielding <>
Cc: Lars Eggert <>rg>; IETF QUIC WG <>
Subject: Re: Call for Consensus: Moving HTTP/3, QPACK and Recovery to the Late-Stage Process

Hi Roy,

Responding to the parts relevant to this CfC.

> On 7 Nov 2019, at 5:39 am, Roy T. Fielding <> wrote:
>> On Nov 5, 2019, at 5:01 PM, Mark Nottingham <> wrote:
>> Previously, we've moved to the 'late-stage process' documented at [1] for the Transport and TLS drafts. The chairs and editors now feel that it's time to move the Recovery, HTTP/3, and QPACK drafts to that process as well.
>> As before, this is because we're getting to a stage we feel the documents would benefit from slower and slightly more formal process, so that the rate of change is not so high, changes that do occur are well-vetted, and the documents get closer to reflecting consensus in the working group.
> I don't think that process has worked well for QUIC.


> There are specific issues that are contentious enough to timebox and 
> conclude, in a formal (and faster) fashion than was done before.
> That makes sense when needed for a specific issue. I don't know of any 
> such issues for those three drafts. IOW, I don't know of any issues 
> for which it makes sense for the Chairs to pre-empt the specification 
> authors in deciding what can or cannot result in changes to the drafts 
> just because of the timing of when the issue was raised.

You misunderstand the process; the Chairs aren't pre-empting anything, the group is attempting to agree to a path to completing this work.

> The late-stage process seems to focus all of our energy into 
> in/out-of-scope arguments rather than actual text in the specifications.

I don't see any evidence for that claim; what makes you believe that?

> The last interim spent easily twice as much time discussing process 
> and process planning than it did HTTP/3. Prior interims were worse.

We spent a day talking about transport and TLS, part of a morning talking about planning the future of our work (if you want to call that "process and process planning") and the bulk of the (longer) afternoon session talking about H3. This isn't surprising, since our goal for the meeting was to get the Transport and TLS documents close to finished.

> I don't even recall the last time contents of the HTTP/3 spec being 
> discussed on list, outside of very specific issues related to transport.
> I would like to see HTTP/3 written with HTTP in mind, not as a set of 
> diffs against h2.

That is by charter; we're largely limited to mapping H2 onto QUIC. 

> This is not a small undertaking, but it isn't a massive one either.
> Basically, import the bits of h2 that are necessary to explain 
> HTTP/3's operation and intent, and then start referencing the 
> http-core drafts instead of 723x. Yes, I know that is risky, but it is the right thing to do.
> And it needs to be done before http-core is finished, since that 
> effort exists largely to place the right content (in the right places) 
> for
> HTTP/3 to reference.

AIUI that is still our intent, and shouldn't be impeded by the late-stage process, since that work should be editorial.

> I have no idea what the status is with QPACK, but we should learn a 
> lesson from the last time and make sure the fixed compression 
> dictionary (if any) is based on traffic at more than one proxy or 
> origin server. Or at least have each of the major deployments generate 
> their local "best" encoding and do some cross-testing of the N choices 
> (plus one or two based on a hand-crafted expert merge).
> I would like for HTTP/3 to have a mechanism for communicating metadata 
> (like trailers) in mid-stream, both for requests (e.g., priority) and 
> responses (e.g., chained sigs). That has been a design goal for HTTP 
> since 1995 or so. HTTP/1.1 had it, albeit limited to chunked extensions.
> It has been proposed multiple times and keeps getting postponed 
> because of "concern about scope". This is not a semantics issue (they 
> are just optional trailers that arrive early) -- it is a multiplex 
> framing issue (a new frame type and expectation to process).

Where are the multiple proposals you refer to? We've been working on h3 now for more than three years. If you submit them now, they'll be design issues.

I'd say that the Late-Stage process (or at least the proposal of adopting it) is working exactly as intended here -- making people realise that if they still have issues / changes that they want discussed, they need to bring them to our attention now, not as we go to WGLC.


Mark Nottingham