Re: Binary Messages

Martin Thomson <mt@lowentropy.net> Mon, 30 August 2021 03:22 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 3D1783A0827 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 29 Aug 2021 20:22:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.997
X-Spam-Level:
X-Spam-Status: No, score=-2.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=UHseGq5r; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=XwdBvDXc
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PP8h8SO0Wo2C for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 29 Aug 2021 20:22:45 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 203603A0824 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 29 Aug 2021 20:22:44 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1mKXoo-0006F5-I6 for ietf-http-wg-dist@listhub.w3.org; Mon, 30 Aug 2021 03:18:42 +0000
Resent-Date: Mon, 30 Aug 2021 03:18:42 +0000
Resent-Message-Id: <E1mKXoo-0006F5-I6@lyra.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mt@lowentropy.net>) id 1mKXok-0006EI-VZ for ietf-http-wg@listhub.w3.org; Mon, 30 Aug 2021 03:18:38 +0000
Received: from wout5-smtp.messagingengine.com ([64.147.123.21]) by titan.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mt@lowentropy.net>) id 1mKXoh-0005Zb-SB for ietf-http-wg@w3.org; Mon, 30 Aug 2021 03:18:38 +0000
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 213E8320079B for <ietf-http-wg@w3.org>; Sun, 29 Aug 2021 23:18:23 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute5.internal (MEProxy); Sun, 29 Aug 2021 23:18:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm3; bh=jdbjOhBp0y8YeZxWC/3vScPJHoMP66/ I1+/bwN2mfr8=; b=UHseGq5r/btaQdhXFFtPoYXCWJhtls1Q6q9I5fEiov+PLvu HWEGLHg1P6vNfCx7lChL2sdhzlXFjVbYpjf80Kt75lnYHClM+/qQeJCBVAU+YRzm LA57sbo9aZ0bLr1FqoeGo+aETmaWA7NMH7ElLcNuFfEkEQqkazyDdMS391e0+S2n 01VygF7m4krP4lNkXLGQ4uKuWAbqnEnfvVrlQYBK+00Du4gCJdlU2QmgVcG74ocp t4uQJH3YKleX8yIfBH9vxaZmUMcoQJLbhNEfOxWD86/uIUwFrx1OBEQCXZFXOx85 PblByRYRNn+HvJMoDTwvHuKxqHPX36o5noPNt5g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=jdbjOh Bp0y8YeZxWC/3vScPJHoMP66/I1+/bwN2mfr8=; b=XwdBvDXcLmutdV2lVXwyAW 7YvcOkUl0eBGEVDTYDv8aRauqry3Xe4B6LKIl2XDUc/cwLI7OQaKt/aTkd8uBy09 DpqztkHGgLmnLKBNP/C/SJ83l0Aqb8WhJTuFchnDGPhu0t/6hFmlCGvKtyK50R1z HEql5eotBjo1CsIdanSdYvN0L9U3wMd7guen9PBK4nbfIbGj8urQ1v/K4DM4BD0r aHuBpLpO05WiTv1hTkkez5nGCBS3z/Ilan/q3mBbfh68dVxR2HJNPYMW2M/CHK0Y 69d2rPgHz9jrfHeCynUnUMunhUZLTW4ogRdc2eYDuZ6ZgQNgDpAqqojy+82ZY0fw ==
X-ME-Sender: <xms:_k0sYZn4pmjott6CnO2ek4S6-vm9wS-1pn3bAIAUAL2Gg2X4JGNnfw> <xme:_k0sYU1rc7XdjQD_v00IwJSDkOjKoA7xWHVP7A6qdEyWY3q5xOrGuIaz6aoQjRb-F ipIQCVxPd5R4ErogI0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddukedgieelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoufhushhpvggtthffohhmrghinhculdegledmne cujfgurhepofgfggfkjghffffhvffutgesthdtredtreertdenucfhrhhomhepfdforghr thhinhcuvfhhohhmshhonhdfuceomhhtsehlohifvghnthhrohhphidrnhgvtheqnecugg ftrfgrthhtvghrnhepvdehvdehjeffheeivdelleelgeehhfeutdelveeuieeiveevffeh teeuleeivdeunecuffhomhgrihhnpehgihhthhhusgdrihhonecuvehluhhsthgvrhfuih iivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhtsehlohifvghnthhrohhphidr nhgvth
X-ME-Proxy: <xmx:_k0sYfo16JxB5GTZC3uElCs6bc0zKWgAVOzKFxPOmjXhDnzUHEKltg> <xmx:_k0sYZkDuUJJOZD9bVisivnZl1HLQtdbLPNCKPNxYhuMyTwIuh-AYw> <xmx:_k0sYX3CUd0SiplxUV1Pk7EuB-K9ZFBEvnpzNU1nxq1bBo5w--TGUQ> <xmx:_k0sYYB9WrNI6n9CICJ6bTJmE0XxDtIiKszexd31PC8cyw7XEWaK2Q>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 44F3F3C0EB8; Sun, 29 Aug 2021 23:18:22 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.5.0-alpha0-1125-g685cec594c-fm-20210825.001-g685cec59
Mime-Version: 1.0
Message-Id: <343b56bd-31c0-44d4-a2d0-3fd820371c48@www.fastmail.com>
In-Reply-To: <76941663-8987-689b-5f51-a0bbdff6c946@gmx.de>
References: <b435dd20-1bdc-4049-b191-c117a7b71447@www.fastmail.com> <11c6b45c-7bdc-8ec0-1256-71cf66ee5aea@gmx.de> <08c670ad-5412-4128-942e-c54800a3e93f@www.fastmail.com> <76941663-8987-689b-5f51-a0bbdff6c946@gmx.de>
Date: Mon, 30 Aug 2021 13:18:00 +1000
From: Martin Thomson <mt@lowentropy.net>
To: ietf-http-wg@w3.org
Content-Type: text/plain
Received-SPF: pass client-ip=64.147.123.21; envelope-from=mt@lowentropy.net; helo=wout5-smtp.messagingengine.com
X-W3C-Hub-DKIM-Status: validation passed: (address=mt@lowentropy.net domain=lowentropy.net), signature is good
X-W3C-Hub-DKIM-Status: validation passed: (address=mt@lowentropy.net domain=messagingengine.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-9.8
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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1mKXoh-0005Zb-SB 2301921196054bea2301ad3eeb996ed6
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Binary Messages
Archived-At: <https://www.w3.org/mid/343b56bd-31c0-44d4-a2d0-3fd820371c48@www.fastmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/39313
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, Aug 27, 2021, at 16:28, Julian Reschke wrote:
> Which of course leads us to the question about how this format could in
> theory be extended in the future in a backwards-compatible way.

I think that the most sensible approach is to give up on forward-compatibility and define a new format.  Given the likelihood that we uniformly define midlers (or midders or whatever[1]) across the live protocols, that seems like a fairly safe bet.  The alternative is to carry something that exists just on the off chance we'd need it later, which I think is a good way to guarantee that the extension point will be broken when we get around to needing it[2].

On the general topic of extensibility, adding fields is a well-trodden path that could get us a long way (see also below).

> > This I think we can accommodate.  Other pseudo header fields can be added as if they were regular fields, using the same rules as h2.  That is, pseudo header fields go first.  Should that be documented?
> 
> I guess so (although I'm not a fan of that extension point :-).

I was similarly not a fan.  I'm now somewhat more accepting of it, given that pseudo-fields are where the protocol as a whole ended up going.

Conveniently, I already had text on that, so I think we're good:

Pseudo-fields that are defined by protocol extensions MAY be included.  Field lines containing pseudo-fields MUST precede other field lines; a message that contains a pseudo-field after any other field is invalid; see {{invalid}}.

[1] For some reason, "midders" and "Scabbers" (Ron Weasley's rat familiar from Harry Potter) are inextricably linked in my mind.
[2] See https://intarchboard.github.io/draft-use-it-or-lose-it/draft-iab-use-it-or-lose-it.html