Re: [dispatch] A WG for HTTP API Building Blocks

Mark Nottingham <> Thu, 16 July 2020 09:12 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 16D9D3A123C for <>; Thu, 16 Jul 2020 02:12:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.12
X-Spam-Status: No, score=-2.12 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, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key) header.b=lXxFL4jF; dkim=pass (2048-bit key) header.b=sW4mWbRf
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id OXY9Rcjk09Es for <>; Thu, 16 Jul 2020 02:12:14 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 52FFE3A1238 for <>; Thu, 16 Jul 2020 02:12:14 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal []) by mailout.nyi.internal (Postfix) with ESMTP id 7B6425C0113; Thu, 16 Jul 2020 05:12:13 -0400 (EDT)
Received: from mailfrontend2 ([]) by compute4.internal (MEProxy); Thu, 16 Jul 2020 05:12:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm3; bh=U 8rYPf2TSPH2Uic1H5jC7WPA90oCt6sxW5rQUuy16ds=; b=lXxFL4jF6vXv9RKAV ZdQBPpAblesxmUP84XnSRSQh5CVUodoBEj0H7YHJMP/Ezq5dDr3HLLDlnLDdlBmq +f7EuL6O7n9MmRHIeEj7TDMpYcCSDV+IiCWwA6HtPiwaytc8EH81b3+d73lJsbSp xErRB8byS9lQm7FM7YPDmgKDNLknOwMTK0bCgoHlnwjNinzOuftPddQ9DKmUm94e GqzVvT6KPRdpfQVjtcU+Q4TIPfUEV8H2rB1z9mVYMtgUySoqFLBaDyvoOUIhWztM ZqPbTD2/uiXoQ0kwt9fTkq4B1e7doK/Yn4Z2GBjiu3U4p3ZhgumCB8TmermR9Z1L ly7pg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=; h=cc:content-transfer-encoding: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=U8rYPf2TSPH2Uic1H5jC7WPA90oCt6sxW5rQUuy16 ds=; b=sW4mWbRfAAl6a6z7gbNR8g1kgJe5ErD5tBBjSw2SPq2xBhzek6Hxl+sKH Q5J4wcOkmvagJ+gPuLMd0I/r9RXxtMX7utw/9bvu8pjDBfN0/lF5Mu7bH0WcTd6h 18SBunUdBw4lovO3wwJOFzF3xdNNYuj3h7i55RWgXcDKGvq7APuuDcQUf5jmCntG HKR9ld4Qko9hbJlMt6aNh8VXFcammgmKCwMuvoCyH0acsIbl/QK+0rLwkTe8HTzY mDYqUJU4e+YUo545+k4QHiroU27Iexpk2ZDNC1bq/gtzoZxP3gYkbvIRc7FDKem7 F1mK0KBYc34QupgUhzogKuImlPsWg==
X-ME-Sender: <xms:7BkQX0fZaH28xkz8vfK84SWSgg4CnUFKStGHGccGc_FiYL2yoySiRw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrfeeggddufecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtggfuhfgjfffgkfhfvffosehtqhhmtdhhtddvnecuhfhrohhmpeforghrkhcu pfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuggftrfgrthhtvg hrnhepjeeigeekuefhhefgheetvddtlefhvdehhfelvdegleffhedvuddtueeguedukeeg necuffhomhgrihhnpehhthhtphgrphhirdgrshdpihgvthhfrdhorhhgpdhhihhsthhorh hitggrlhgvgigrmhhplhgvshgtohhulhgurghlshhosggvihhnthgvrhgvshhtihhnghdr hhhofidpmhhnohhtrdhnvghtnecukfhppeduudelrddujedrudehkedrvdehudenucevlh hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmnhhothesmhhn ohhtrdhnvght
X-ME-Proxy: <xmx:7BkQX2NpRMCc7GG0RpUP38aJzIISRzKVwQIJwiD8O42N7JLLHrKm-w> <xmx:7BkQX1gpdEyVXDtNErl7VNJWEBdcM5SeVOw8Z9X8LvT4GDqhDPfeEw> <xmx:7BkQX58WnpxHkK72_aZU6fGpLUNcuVyQqVZ11P8D9PZlwmFzKqjDrQ> <xmx:7RkQX54j64CzBzzDm4C7vtoL5933C1MBdMeoP3dxJewSCH82tSuI8w>
Received: from ( []) by (Postfix) with ESMTPA id 8957030600B4; Thu, 16 Jul 2020 05:12:11 -0400 (EDT)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.\))
From: Mark Nottingham <>
In-Reply-To: <>
Date: Thu, 16 Jul 2020 19:12:07 +1000
Cc: Lucas Pardue <>, DISPATCH WG <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <>
To: Michael Toomim <>
X-Mailer: Apple Mail (2.3608.
Archived-At: <>
Subject: Re: [dispatch] A WG for HTTP API Building Blocks
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DISPATCH Working Group Mail List <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 16 Jul 2020 09:12:16 -0000

It's not necessary to have a mechanical process for determining what group something best belongs in; it's negotiated between the various stakeholders, following any guidance in the RFCs and charters as appropriate. As I mentioned to Lucas, we already encounter this sort of situation in other places (e.g., deciding whether a particular HTTP/3 extension belongs in the QUIC WG, the HTTP WG, or another WG dedicated to that extension's use case).


> On 16 Jul 2020, at 7:00 pm, Michael Toomim <> wrote:
> Thanks Mark, but my question wasn't about how to get a particular proposal adopted.  I'm trying to find clarity on how we would distinguish these two working groups.
> The purpose of these two examples (one current proposal, one historical) is just to give us something concrete to deliberate.  Are these examples of HTTP work, or HTTP API work?
> Distinguishing these groups seems important because they are so similar.  If we have trouble identifying which group should take which work right now, when nothing is at stake, I could imagine difficulties at scale.  I'd love to find some clear criteria.
>> On Jul 16, 2020, at 1:09 AM, Mark Nottingham <> wrote:
>> Great example. 
>> I think that if you got HTTP WG folks excited about BRAID and some folks putting their hands up to implement it there, it would take it on. So far, the reaction has been of interest, but I'm not sure we're quite to the point where we'll adopt it; personally I'm still looking for more people to say 'yes, I want to implement that' and/or 'yes, I have a use case for that.' That may still happen, in time.
>> If not, and we had an HTTP APIs WG, you could take it there and see if you could get traction with that community; since it's not defining new methods or status codes, and it doesn't necessarily need browser implementation to be useful, that should work.
>> There's one proviso, however; if the HTTP WG thought it was a bad idea (e.g., actively harmful, bad for HTTP, conflicting with other work, or just a bad starting point for work) it wouldn't be good for the HTTP APIs WG to take it on, because that would be 'venue shopping.'
>> Does that help? 
>>> On 16 Jul 2020, at 5:56 pm, Michael Toomim <> wrote:
>>> I also see value in recruiting API developers and consumers, but (like Lucas) I struggle to distinguish whether a particular proposal "foo" would be demarcated as HTTP vs. HTTP API.
>>> As a present example, how do we classify the Braid proposal?
>>> On the one hand, we could describe it as "push-update for REST APIs", and then put it into the HTTP API bucket.
>>> But on the other, Braid also applies to browsers and proxies, where it improves caching, reduces network traffic, and allows pages to update automatically without a reload button.  That sounds like core HTTP.
>>> Historical examples could also be interesting.  How do we classify HTTP Live Streaming?
>>> This is an API standard, which does not need special browser support.  However, most mobile browsers (but not desktop) now have native implementations for better performance.  Does that make it HTTP core?
>> --
>> Mark Nottingham

Mark Nottingham