#482l was: WGLC p1: proxy handling of a really bad Content-Length

Julian Reschke <julian.reschke@gmx.de> Thu, 20 June 2013 17:11 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 []) by ietfa.amsl.com (Postfix) with ESMTP id 4E06121F9BFF for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 20 Jun 2013 10:11:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.821
X-Spam-Status: No, score=-8.821 tagged_above=-999 required=5 tests=[AWL=1.778, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id DYwBh49cD3rS for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 20 Jun 2013 10:11:37 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org []) by ietfa.amsl.com (Postfix) with ESMTP id 83F6E21F9A35 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 20 Jun 2013 10:11:21 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UpiNk-0008ES-Rw for ietf-http-wg-dist@listhub.w3.org; Thu, 20 Jun 2013 17:10:48 +0000
Resent-Date: Thu, 20 Jun 2013 17:10:48 +0000
Resent-Message-Id: <E1UpiNk-0008ES-Rw@frink.w3.org>
Received: from lisa.w3.org ([]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <julian.reschke@gmx.de>) id 1UpiNW-0008B1-UE for ietf-http-wg@listhub.w3.org; Thu, 20 Jun 2013 17:10:34 +0000
Received: from mout.gmx.net ([]) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <julian.reschke@gmx.de>) id 1UpiNV-0002kD-SQ for ietf-http-wg@w3.org; Thu, 20 Jun 2013 17:10:34 +0000
Received: from mailout-de.gmx.net ([]) by mrigmx.server.lan (mrigmx002) with ESMTP (Nemesis) id 0Mhg69-1UbjrQ43pD-00Mv08 for <ietf-http-wg@w3.org>; Thu, 20 Jun 2013 19:10:07 +0200
Received: (qmail invoked by alias); 20 Jun 2013 17:10:07 -0000
Received: from mail.greenbytes.de (EHLO []) [] by mail.gmx.net (mp033) with SMTP; 20 Jun 2013 19:10:07 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1/yE8odWt3yY7b3ZxDBey9qx2NxANBxHqh6qyRSHq rn/0XgbsEIiXId
Message-ID: <51C3376D.1090809@gmx.de>
Date: Thu, 20 Jun 2013 19:10:05 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: Alex Rousskov <rousskov@measurement-factory.com>
CC: HTTP Working Group <ietf-http-wg@w3.org>, Willy Tarreau <w@1wt.eu>
References: <5180B982.9050003@measurement-factory.com> <20130501072644.GI27137@1wt.eu> <5180C7E1.3010509@measurement-factory.com>
In-Reply-To: <5180C7E1.3010509@measurement-factory.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Received-SPF: pass client-ip=; envelope-from=julian.reschke@gmx.de; helo=mout.gmx.net
X-W3C-Hub-Spam-Status: No, score=-3.3
X-W3C-Hub-Spam-Report: AWL=-3.341, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1UpiNV-0002kD-SQ cdc915ea1949413cd68f9e16a7716e10
X-Original-To: ietf-http-wg@w3.org
Subject: #482l was: WGLC p1: proxy handling of a really bad Content-Length
Archived-At: <http://www.w3.org/mid/51C3376D.1090809@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18325
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 2013-05-01 09:44, Alex Rousskov wrote:
> On 05/01/2013 01:26 AM, Willy Tarreau wrote:
>> On Wed, May 01, 2013 at 12:43:14AM -0600, Alex Rousskov wrote:
>>> Hello,
>>>      When talking about dealing with malformed responses, HTTPbis p1
>>> Section 3.3.3 says:
>>>> the proxy MUST discard the received response, send a 502 (Bad
>>>> Gateway) status code as its downstream response, and then close the
>>>> connection.
>>> Which connection MUST the proxy close: upstream or downstream? If you
>>> guessed downstream because the connection must be closed only _after_
>>> the 502 downstream response is sent, you guessed wrong :-).
>>> The proxy MUST close the upstream connection and it may do that
>>> immediately, without waiting for the 502 response to be sent on the
>>> downstream connection. This was discussed around 2011/11/28, and I think
>>> Mark agreed that a fix is needed but the text was never changed.
>>> Also, the current wording suggests sending "status code" as a response,
>>> which is not the intent, of course.
>>> Suggested fix:
>>>    the proxy MUST close the upstream connection, discard the received
>>>    response, and send a 502 (Bad Gateway) response downstream.
>> I think we should never use the terms "upstream" and "downstream" since
>> they're ambiguous due to the fact that connections are bidirectional.
> HTTPbis defines those terms in p1 section 2.3, but I agree that their
> use in a multiple connection context is kind of ambiguous (in both the
> current text and the suggested fix).
>> We'd rather use "connection to the client" and "connection to the server".
>> So I would suggest :
>>     the proxy MUST close the connection to the server, discard the received
>>     response, and send a 502 (Bad Gateway) response to the client.
> Sounds great to me!
> ...

Same here. See <http://trac.tools.ietf.org/wg/httpbis/trac/changeset/2298>.

Best regards, Julian