Re: trailers and pseudo-headers

Julian Reschke <julian.reschke@gmx.de> Wed, 02 July 2014 12:07 UTC

Return-Path: <ietf-http-wg-request@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 BE14E1B28FE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 2 Jul 2014 05:07:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.553
X-Spam-Level:
X-Spam-Status: No, score=-7.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.651, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] 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 PVN1kTpzs-Of for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 2 Jul 2014 05:07:30 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5ACC71B28F1 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 2 Jul 2014 05:07:30 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1X2JHr-0005kj-1U for ietf-http-wg-dist@listhub.w3.org; Wed, 02 Jul 2014 12:05:19 +0000
Resent-Date: Wed, 02 Jul 2014 12:05:19 +0000
Resent-Message-Id: <E1X2JHr-0005kj-1U@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <julian.reschke@gmx.de>) id 1X2JHj-0005jz-7J for ietf-http-wg@listhub.w3.org; Wed, 02 Jul 2014 12:05:11 +0000
Received: from mout.gmx.net ([212.227.17.21]) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <julian.reschke@gmx.de>) id 1X2JHh-0003T6-7X for ietf-http-wg@w3.org; Wed, 02 Jul 2014 12:05:11 +0000
Received: from [192.168.1.106] ([217.91.35.233]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MPlMc-1WxLSV3aq2-004x5A; Wed, 02 Jul 2014 14:04:34 +0200
Message-ID: <53B3F54D.6070009@gmx.de>
Date: Wed, 02 Jul 2014 14:04:29 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Michael Sweet <msweet@apple.com>
CC: Poul-Henning Kamp <phk@phk.freebsd.dk>, Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
References: <53B3A631.80907@gmx.de> <0A3A3665-FEBD-467D-857A-6D1E61C83056@mnot.net> <53B3AD3A.8020307@gmx.de> <19984.1404286540@critter.freebsd.dk> <53B3B835.80807@gmx.de> <E6C630F0-92C4-4B42-8133-7C2D7745440B@apple.com>
In-Reply-To: <E6C630F0-92C4-4B42-8133-7C2D7745440B@apple.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:ac8ofPzsoPGUIpJddm6tYcDzkxk51vHlt0uwi+nlUexZhmWX1Aw J/hd1E0W6vSJpZdQG4ow5xkPCY7PKs6ogAi7/ciMb94y1eYyKOSUbfmW1uAvtQi/oTyaRWD aYQTC3G9vLZpKCZzEnssPvcRnae+1y+mXL1SHZpBx5ew4Y7zK3Kc5J9adX01Hbgg1B2FZcL KKcWv6jJTlUBpuRhJx95w==
Received-SPF: pass client-ip=212.227.17.21; envelope-from=julian.reschke@gmx.de; helo=mout.gmx.net
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: AWL=-3.445, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1X2JHh-0003T6-7X 32addcce72eb010f572c3909157f91ad
X-Original-To: ietf-http-wg@w3.org
Subject: Re: trailers and pseudo-headers
Archived-At: <http://www.w3.org/mid/53B3F54D.6070009@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/25129
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 2014-07-02 13:12, Michael Sweet wrote:
> Julian,
>
> On Jul 2, 2014, at 3:43 AM, Julian Reschke <julian.reschke@gmx.de> wrote:
>> On 2014-07-02 09:35, Poul-Henning Kamp wrote:
>>> In message <53B3AD3A.8020307@gmx.de>, Julian Reschke writes:
>>>
>>>> The reason I ask is that people might start putting ":status" into a
>>>> trailer and expect that to have an effect (it would be nice to have that
>>>> feature, but it wouldn't map to 1.1...).
>>>
>>> It would also be pretty pointless:  It would just shift the buffering
>>> responsibility from the server to the client.
>>
>> What I meant is: an *additional* :status (such as in first claiming everything is ok -- 200, then start streaming and failing, and then send a 500 in the trailers).
>
> As you've noted, you can't do that in HTTP/1.1, and in fact this would be a case where I would emit 100 (continue) to the client to let them know they can continue sending data, then follow up with a final status code (200, 500, whatever) once I'd processed the message body and any trailers in the request.

When I said "streaming" I was referring to the process of sending the 
payload in the response.

There are many cases where a server would say "200", and then start a 
complicated process that might fail half-way. In HTTP/1.1, signalling an 
error in this situation is hard (abort the chunked transfer or close the 
connection). It would be good if HTTP/2 can do better here.

Best regards, Julian