Re: 1xx response semantics

Amos Jeffries <squid3@treenet.co.nz> Tue, 05 July 2011 05:53 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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 642E311E80A8 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 4 Jul 2011 22:53:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3ISilxchQijO for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 4 Jul 2011 22:53:10 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id CE29311E80AB for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 4 Jul 2011 22:53:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1QdyYb-0006Mz-Gc for ietf-http-wg-dist@listhub.w3.org; Tue, 05 Jul 2011 05:52:25 +0000
Received: from aji.keio.w3.org ([133.27.228.206]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <squid3@treenet.co.nz>) id 1QdyYU-0006Lv-SR for ietf-http-wg@listhub.w3.org; Tue, 05 Jul 2011 05:52:19 +0000
Received: from [2002:3a1c:99e9:0:206:5bff:fe7c:b8a] (helo=treenet.co.nz) by aji.keio.w3.org with esmtp (Exim 4.72) (envelope-from <squid3@treenet.co.nz>) id 1QdyYR-0007AK-AE for ietf-http-wg@w3.org; Tue, 05 Jul 2011 05:52:17 +0000
Received: from troja.treenetnz.com (unknown [119.224.36.238]) by treenet.co.nz (Postfix) with ESMTP id BA542E71B5 for <ietf-http-wg@w3.org>; Tue, 5 Jul 2011 17:51:39 +1200 (NZST)
Message-ID: <4E12A669.9050202@treenet.co.nz>
Date: Tue, 05 Jul 2011 17:51:37 +1200
From: Amos Jeffries <squid3@treenet.co.nz>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110516 Thunderbird/3.1.10
MIME-Version: 1.0
To: ietf-http-wg@w3.org
References: <713362A0-3316-4B4C-B154-581CB32B8A9B@mnot.net> <20110705051401.GB12909@1wt.eu>
In-Reply-To: <20110705051401.GB12909@1wt.eu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Received-SPF: permerror client-ip=2002:3a1c:99e9:0:206:5bff:fe7c:b8a; envelope-from=squid3@treenet.co.nz; helo=treenet.co.nz
X-W3C-Hub-Spam-Status: No, score=-1.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RDNS_NONE=0.793, TO_NO_BRKTS_NORDNS=0.001
X-W3C-Scan-Sig: aji.keio.w3.org 1QdyYR-0007AK-AE c37663c209e337e4cecc06daddd5ad59
X-Original-To: ietf-http-wg@w3.org
Subject: Re: 1xx response semantics
Archived-At: <http://www.w3.org/mid/4E12A669.9050202@treenet.co.nz>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/10883
X-Loop: ietf-http-wg@w3.org
Sender: ietf-http-wg-request@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>
Resent-Message-Id: <E1QdyYb-0006Mz-Gc@frink.w3.org>
Resent-Date: Tue, 05 Jul 2011 05:52:25 +0000

On 05/07/11 17:14, Willy Tarreau wrote:
> Hi Mark,
>
> On Tue, Jul 05, 2011 at 09:41:59AM +1000, Mark Nottingham wrote:
>> One (of many) of the issues with 1xx responses is that people don't know how to surface two responses to one request in APIs and tools.
>>
>> I think we could make things a bit easier for folks if we stated that the headers in a 1xx response are semantically not significant; i.e., it's OK for APIs, etc. to drop them on the floor, because the only information is in the status code.
>>
>> This would mean that people shouldn't put headers on a 1xx response and expect applications to see them -- which I think is already the case today.
>

Yes. HTTP/1.0 middleware will completely drop 1xx responses in certain 
situations. HTTP/1.1 obeying the rules of passing on things it does not 
understand should usually relay, but since it is not spec'd as required 
behaviour may also drop.

FWIW: Squid will treat headers attached to a 100 the same as any 2xx 
when relaying.

> It's not exact because of 101 which should contain at least Upgrade and
> Connection: Upgrade. In fact, 101 is a final status while 100 is an
> intermediate one.
>
> Maybe we should indicate that "headers are not significant on intermediate
> responses such as 1xx, and are only meaningful on final responses such as
> all other ones, including 101" ?
>

Its always puzzled me why Upgrade got 101 while CONNECT gets 200. They 
are not that dissimilar.

AYJ