Re: HTTP/2 Upgrade with content?

Stefan Eissing <stefan.eissing@greenbytes.de> Fri, 13 March 2015 10:07 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 F3A991A1BD2 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 13 Mar 2015 03:07:30 -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 tA6S2JbqBlXc for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 13 Mar 2015 03:07:29 -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 482781A1BD1 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 13 Mar 2015 03:07:29 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YWMRv-0002t0-Nq for ietf-http-wg-dist@listhub.w3.org; Fri, 13 Mar 2015 10:04:11 +0000
Resent-Date: Fri, 13 Mar 2015 10:04:11 +0000
Resent-Message-Id: <E1YWMRv-0002t0-Nq@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <stefan.eissing@greenbytes.de>) id 1YWMRp-0002rY-2Q for ietf-http-wg@listhub.w3.org; Fri, 13 Mar 2015 10:04:05 +0000
Received: from mail.greenbytes.de ([217.91.35.233]) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <stefan.eissing@greenbytes.de>) id 1YWMRn-0005gF-9X for ietf-http-wg@w3.org; Fri, 13 Mar 2015 10:04:05 +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 F0BC515A0327; Fri, 13 Mar 2015 11:03:40 +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.1503131030150.13706@tvnag.unkk.fr>
Date: Fri, 13 Mar 2015 11:03:45 +0100
Cc: Greg Wilkins <gregw@intalio.com>, Mike Bishop <Michael.Bishop@microsoft.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <A12A9A36-DB32-4D73-A6D2-26051A08BFA6@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> <B6F039A0-A58A-4980-9F52-F865BFFAAB0E@greenbytes.de> <alpine.DEB.2.11.1503131030150.13706@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=-2.9
X-W3C-Hub-Spam-Report: AWL=-2.873, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001
X-W3C-Scan-Sig: lisa.w3.org 1YWMRn-0005gF-9X efa7885590e9b3807eaa5749740304c8
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP/2 Upgrade with content?
Archived-At: <http://www.w3.org/mid/A12A9A36-DB32-4D73-A6D2-26051A08BFA6@greenbytes.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/28956
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>

Thanks for the link to the discussion, very helpful. I might be able to create a request in the server that reads a HTTP/1.1 body and produces a HTTP/2 response. Since the body can be read without any flow control needing to happen, that might just work. But there may be monsters lurking here, for example the server omitting a RST_STREAM on 1 while the http/1.1 body is still incomplete...

//Stefan

> Am 13.03.2015 um 10:34 schrieb Daniel Stenberg <daniel@haxx.se>:
> 
> On Fri, 13 Mar 2015, Stefan Eissing wrote:
> 
>> do you mean curl will, after seeing a 101 response, send the body on the HTTP2 stream 1? That could be made to work...
> 
> No, that won't work.
> 
> First, without "Expect: 100-continue" in the request the client will send the body immediately without waiting for anything so there will be no chance to send the 101 until after the request-body.
> 
> And _with_ "Expect: 100-continue" we've already concluded that 100 must be sent back before the 101 and that will then make the body get sent as well before the 101 will be considered!
> 
> The Expect+Upgrade discussion thread I'm referring to can be found here:
> 
>  https://lists.w3.org/Archives/Public/ietf-http-wg/2013JulSep/1047.html
> 
> -- 
> 
> / daniel.haxx.se
> 

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