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

From: Julian Reschke <[email-masked]>
Date: Thu, 20 Jun 2013 19:10:05 +0200

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