Re: HTTP/2 Upgrade with content?

Stefan Eissing <stefan.eissing@greenbytes.de> Fri, 13 March 2015 14:26 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ietf.org@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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D17AE1A896B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 13 Mar 2015 07:26:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Level:
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 Zi4kasnaQiA3 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 13 Mar 2015 07:26:10 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 359BA1A8958 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 13 Mar 2015 07:26:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YWQTu-0004C5-EQ for ietf-http-wg-dist@listhub.w3.org; Fri, 13 Mar 2015 14:22:30 +0000
Resent-Date: Fri, 13 Mar 2015 14:22:30 +0000
Resent-Message-Id: <E1YWQTu-0004C5-EQ@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <stefan.eissing@greenbytes.de>) id 1YWQTn-0004Af-6g for ietf-http-wg@listhub.w3.org; Fri, 13 Mar 2015 14:22:23 +0000
Received: from mail.greenbytes.de ([217.91.35.233]) by maggie.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <stefan.eissing@greenbytes.de>) id 1YWQTi-0003gh-H7 for ietf-http-wg@w3.org; Fri, 13 Mar 2015 14:22:23 +0000
Received: from delight.greenbytes.de (unknown [217.91.35.233]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mail.greenbytes.de (Postfix) with ESMTPSA id B375A15A0327; Fri, 13 Mar 2015 15:21:55 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\))
From: Stefan Eissing <stefan.eissing@greenbytes.de>
In-Reply-To: <alpine.DEB.2.11.1503131457030.27951@tvnag.unkk.fr>
Date: Fri, 13 Mar 2015 15:21:55 +0100
Cc: Greg Wilkins <gregw@intalio.com>, "Jason T. Greene" <jason.greene@redhat.com>, Mike Bishop <Michael.Bishop@microsoft.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <B6CAD842-64A1-4D7B-839C-852AF5AAD221@greenbytes.de>
References: <CAH_y2NF3iwND1ttQDY98KC_u=OZj5aqEABmXHKObMgqPH1npLg@mail.gmail.com> <BL2PR03MB1323474B977B051738AD09187060@BL2PR03MB132.namprd03.prod.outlook.com> <CAH_y2NFV=Z7hqbtWTdiePRwUnhhRjiP8R_Ua7kmpZEkwXtxgEA@mail.gmail.com> <B5C01B7A-9215-4268-B189-E6281F425BF7@greenbytes.de> <alpine.DEB.2.11.1503130833190.13706@tvnag.unkk.fr> <6E036F2D-AED0-4323-ACCB-D8036168E6C1@redhat.com> <CAH_y2NFjb0mx8Rs+qg6uJ=zgUzHW3ksiOSN4_GXubKG-P2QDaw@mail.gmail.com> <alpine.DEB.2.11.1503131457030.27951@tvnag.unkk.fr>
To: Daniel Stenberg <daniel@haxx.se>
X-Mailer: Apple Mail (2.2070.6)
Received-SPF: pass client-ip=217.91.35.233; envelope-from=stefan.eissing@greenbytes.de; helo=mail.greenbytes.de
X-W3C-Hub-Spam-Status: No, score=-3.1
X-W3C-Hub-Spam-Report: AWL=-3.112, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001
X-W3C-Scan-Sig: maggie.w3.org 1YWQTi-0003gh-H7 f3d07733d98dea35c69e4211c62e23aa
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP/2 Upgrade with content?
Archived-At: <http://www.w3.org/mid/B6CAD842-64A1-4D7B-839C-852AF5AAD221@greenbytes.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/28963
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: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Well, this discussion quickly dove into the quantum foam between specification and deployed software.

I take away from it:
- that protocol switching happens immediately after the 101 response - for the downstream. On the upstream it switches after the request has been read. Pretty obvious in hindsight, as those things are.
- servers should be predictable in upgrading, either always with content or only without.
- the common use case for upgrade on POST does not benefit from h2c and this it seems not worth the effort to implement. Fullfilling the request on HTTP/1.1 format seems to work fine.
- maybe a mixed 1.1 up and h2c down request could be made to work, but there seems no gain for anyone in creating this mythical beast.

//Stefan

> Am 13.03.2015 um 15:04 schrieb Daniel Stenberg <daniel@haxx.se>:
> 
> On Sat, 14 Mar 2015, Greg Wilkins wrote:
> 
>>> Why not attempt a PRI with the explicit http2 option?
>> 
>> Yes that would be a lot better and we already support it in jetty.
> 
> Sure, curl will support that too soon but I think that is beside the point. In this case users can use this option on virtually any server without knowing whether it supports version 2 or not. Like Upgrade: is supposed to work!
> 
>> The issue with the curl usecase using upgrade is that all the upgrade work
>> is essentially wasted effort - as the bulk upload is done with HTTP/1.1,
> 
> Yes, but... for example, what if that is the first operation out of several, and then once the first operation has updated to version 2 all the subsequent ones can continue using HTTP/2. And since the upgrade, it would just work with 1.1 servers as we all as 2 servers without the client having to know before-hand.
> 
> And in the end, we usually allow curl to exercise every possible protocol option that is valid (and sometimes also a few that aren't valid) to allow people like readers of this list to test out and torture our own and others servers!

I think they call it "enhanced interrogation" nowadays.

<green/>bytes GmbH
Hafenweg 16, 48155 Münster, Germany
Phone: +49 251 2807760. Amtsgericht Münster: HRB5782