Re: Optional Connection fields in 1xx messages and Upgrade requests

Mark Nottingham <mnot@mnot.net> Thu, 15 October 2020 03:30 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 A45933A1237 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 14 Oct 2020 20:30:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.749
X-Spam-Level:
X-Spam-Status: No, score=-2.749 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.249, 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=mnot.net header.b=Wfp4Ig/I; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=alSZGBKg
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 JMlAPVzRD65c for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 14 Oct 2020 20:30:55 -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 A6AFB3A1236 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 14 Oct 2020 20:30:55 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1kStyF-0000fO-HC for ietf-http-wg-dist@listhub.w3.org; Thu, 15 Oct 2020 03:30:27 +0000
Resent-Date: Thu, 15 Oct 2020 03:30:27 +0000
Resent-Message-Id: <E1kStyF-0000fO-HC@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 <mnot@mnot.net>) id 1kStyE-0000eY-4a for ietf-http-wg@listhub.w3.org; Thu, 15 Oct 2020 03:30:26 +0000
Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mnot@mnot.net>) id 1kStyB-0004Fo-Fm for ietf-http-wg@w3.org; Thu, 15 Oct 2020 03:30:25 +0000
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 8D9F85C01FE; Wed, 14 Oct 2020 23:30:08 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Wed, 14 Oct 2020 23:30:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm1; bh=L xnLqc0KFmuFZ9ZRI37fY3wFJUqqMP4H1b/86uV1oLY=; b=Wfp4Ig/IO7miAeyNR 2zf3uJ6tq7kBpa/jT0v0E4QTz51YVti1ccvngqhXszkOqsWdziJBemVhapMF5P1w pD9I7HCYRtaxCj64U26V6lf+NMZVU5Pb5kfjJnudRqyy3nYGr3+IR5c0e9oUqIOY 5+WkDsdPh6gnvmbn1fV4I+PgStsURAJ2mp+d4fX7ksC5o4/5dDPN1y9Q56ZUc5DH PFf0oqzm6sV5j1r2NysXyWlCdowr5CCLzIXg2lyz8g7TcXjlrqxdzSPJqdg8HqlY l3WHLoTknBX5YAd88uK9/TQzfRztO9LcYtk82COj5k/cgstOFBmuGPcYH6fh5gQ0 Mylvw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; 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=fm1; bh=LxnLqc0KFmuFZ9ZRI37fY3wFJUqqMP4H1b/86uV1o LY=; b=alSZGBKgOKgyYMi4x/BgQxx00Ak8Ck5Qtu5xX4QD4/zW418Mal3lubTEd G7IpnbumZOipHdosUIfwHhMVVOgxodl+2gpRIs7TrTXRXD1FmiMGfD0sbdyca/sn EqDBYPqGYVzxjolKoq25xj0a3YLfoFqk1y+/3bibEWiUW+EvlBquu7puvepl8btE +RoubP85qS1eLCS8t53wT5DqWzd8EadMXblTRhL+UfgTuiOuQyNo+u96onkL85lb gWhVcZA3fsi1Y7Q6IUmC29J6HbEr16I7NY0lWVi0Z68kXX4k+bsAR9qCDar1inLk RisNWpfLXJx4hvVvS4fBP4ETKnd9g==
X-ME-Sender: <xms:P8KHX5KUNTBm6YNqKl5IkCNoEd_qNToGfr8gvMRX9sdzi0UREEkbxw> <xme:P8KHX1KK2YSL2YUkZwojS76gcoubKIIglpf7vkW69IcOHrWW1S9ea0hIYbxDBWA-W lm21pIkrH4rff9jOA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedriedvgdejtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtggfuhfgjfffgkfhfvffosehtjehmtdhhtddvnecuhfhrohhmpeforghrkhcu pfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuggftrfgrthhtvg hrnhepffeuudehgefgueeiledukeduteefhfegvefgkeeikeetffelffdujefgleefteeh necuffhomhgrihhnpehmnhhothdrnhgvthenucfkphepudduledrudejrdduheekrddvhe dunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhn ohhtsehmnhhothdrnhgvth
X-ME-Proxy: <xmx:P8KHXxvp3ZnhFcDTOItpFWjBL757LP0NyqVIkFsUJw8HEqsxdN3aGg> <xmx:P8KHX6busXbM9iwQUYiUyjOfVmqdKZd3Yr25YJtPtD-qLWPIZEXKxw> <xmx:P8KHXwaFd5fN4JbhCogTsmEv_Jks3c5WPvfd1rqU-kODhIFM7ipRpw> <xmx:QMKHX3X9yX4D-9eSN14BjxMgHoQmFoHH7rnW8FFYbLSgmT2Fef3aMQ>
Received: from marks-air.mnot.net (119-17-158-251.77119e.mel.static.aussiebb.net [119.17.158.251]) by mail.messagingengine.com (Postfix) with ESMTPA id CC80C328006B; Wed, 14 Oct 2020 23:30:05 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <20201015032121.GD12967@1wt.eu>
Date: Thu, 15 Oct 2020 14:30:02 +1100
Cc: Alex Rousskov <rousskov@measurement-factory.com>, HTTP Working Group <ietf-http-wg@w3.org>, Amos Jeffries <squid3@treenet.co.nz>
Content-Transfer-Encoding: 7bit
Message-Id: <F6E89B2D-E18F-43FF-9F1E-1E57B311EFD0@mnot.net>
References: <squid-cache/squid/pull/732@github.com> <squid-cache/squid/pull/732/c708672207@github.com> <b8d3cd2c-4f1a-ce4a-b9c5-f990c07ed8bd@measurement-factory.com> <20201015032121.GD12967@1wt.eu>
To: Willy Tarreau <w@1wt.eu>
X-Mailer: Apple Mail (2.3608.120.23.2.1)
Received-SPF: pass client-ip=66.111.4.25; envelope-from=mnot@mnot.net; helo=out1-smtp.messagingengine.com
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_H3=0.001, RCVD_IN_MSPIKE_WL=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 1kStyB-0004Fo-Fm 2e91820ebb8e5d88aab892ff50ba325b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Optional Connection fields in 1xx messages and Upgrade requests
Archived-At: <https://www.w3.org/mid/F6E89B2D-E18F-43FF-9F1E-1E57B311EFD0@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/38092
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>

Sounds like it might need some grease...


> On 15 Oct 2020, at 2:21 pm, Willy Tarreau <w@1wt.eu> wrote:
> 
> Hi Alex,
> 
> On Wed, Oct 14, 2020 at 07:52:37PM -0400, Alex Rousskov wrote:
>> It may be a good idea to emphasize that both the upgrade-seeking request
>> and a 101 response may include additional Connection headers, especially
>> Connection: keep-alive. The agent participating in the upgrade MUST
>> support enough of HTTP to not be confused by additional Connection
>> headers (at least). The HTTP Upgrade mechanism is an HTTP mechanism.
> 
> Sadly I'm not surprised. That reminds me the (painful) period of the
> websocket design that some on this list certainly remember as well. There
> was a strong demand from some implementers to only use byte matching on
> the wire instead of parsing HTTP messages, presumably because HTTP was
> considered as the annoying protocol to switch away from, and I can easily
> imagine that initial code parts written this way have not much evolved.
> 
> For having seen some HTTP code deployed in small IoT devices with just
> a few tens of kB of RAM and essentially relying on strstr() to spot
> header+value couples, I would suggest that each time we're dealing with
> protocol variations targetting these use cases, we must be very careful
> about how our messages are consumed. It's not necessarily easy nor even
> possible most of the time, but this needs to be anticipated to ease
> location of the problem at least.
> 
> Cheers,
> Willy
> 

--
Mark Nottingham   https://www.mnot.net/