Re: HTTP/2 Upgrade with content?

Ilari Liusvaara <ilari.liusvaara@elisanet.fi> Fri, 13 March 2015 09:46 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 706241A1BB4 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 13 Mar 2015 02:46:18 -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 WmUknbPmw9mx for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 13 Mar 2015 02:46:13 -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 9B91B1A1B89 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 13 Mar 2015 02:46:13 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YWM7f-0002LX-2M for ietf-http-wg-dist@listhub.w3.org; Fri, 13 Mar 2015 09:43:15 +0000
Resent-Date: Fri, 13 Mar 2015 09:43:15 +0000
Resent-Message-Id: <E1YWM7f-0002LX-2M@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <ilari.liusvaara@elisanet.fi>) id 1YWM7Y-0002Km-Ef for ietf-http-wg@listhub.w3.org; Fri, 13 Mar 2015 09:43:08 +0000
Received: from emh02.mail.saunalahti.fi ([62.142.5.108]) by maggie.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <ilari.liusvaara@elisanet.fi>) id 1YWM7X-0006zl-4j for ietf-http-wg@w3.org; Fri, 13 Mar 2015 09:43:08 +0000
Received: from LK-Perkele-VII (a88-112-44-140.elisa-laajakaista.fi [88.112.44.140]) by emh02.mail.saunalahti.fi (Postfix) with ESMTP id D8E5A817FB; Fri, 13 Mar 2015 11:42:42 +0200 (EET)
Date: Fri, 13 Mar 2015 11:42:42 +0200
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
To: "Jason T. Greene" <jason.greene@redhat.com>
Cc: Greg Wilkins <gregw@intalio.com>, HTTP Working Group <ietf-http-wg@w3.org>
Message-ID: <20150313094242.GA16018@LK-Perkele-VII>
References: <CAH_y2NF3iwND1ttQDY98KC_u=OZj5aqEABmXHKObMgqPH1npLg@mail.gmail.com> <7C1D0B76-0C00-4BF4-B2D2-EE0D311B75A0@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <7C1D0B76-0C00-4BF4-B2D2-EE0D311B75A0@redhat.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Sender: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Received-SPF: pass client-ip=62.142.5.108; envelope-from=ilari.liusvaara@elisanet.fi; helo=emh02.mail.saunalahti.fi
X-W3C-Hub-Spam-Status: No, score=-3.1
X-W3C-Hub-Spam-Report: AWL=-3.149, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1YWM7X-0006zl-4j febefc4c04475d28e27e2136e3296988
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP/2 Upgrade with content?
Archived-At: <http://www.w3.org/mid/20150313094242.GA16018@LK-Perkele-VII>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/28955
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>

On Fri, Mar 13, 2015 at 04:28:46AM -0400, Jason T. Greene wrote:
> What about draining the content and after the 101 the h2 response
> sends a 307?

Might work if you never send a 100 (including implicitly by waiting
too long). 100-Continue may mean that the data transfer can't
be retried after it starts.

And if the client app is has simplistic redirect checking (just
count redirects), one could even 307 to self...


I.e, as flow:
- POST to foo (with upgrade to h2c and 100-expect)
- 101 to h2c
- 307 to foo
- POST to foo (with 100-expect)
- 100
- <payload>
- 200


-Ilari