Re: #458: Requirements upon proxies for Expect

On 31/05/2013, at 4:13 PM, Willy Tarreau <w@1wt.eu> wrote:

>> OK. How do other folks feel about this? I think the proposal is to change:
>> 
>>> If the proxy knows that the version of the next-hop server is HTTP/1.0 or
>>> lower, it must not forward the request, and it must respond with a 417
>>> (Expectation Failed) status code.
>> 
>> to:
>> 
>> """
>> If the proxy knows that the version of the next-hop server is HTTP/1.0 or
>> lower, it MAY either respond with a 417 (Expectation Failed) without
>> forwarding the request, or with a 100 (Continue) status code while forwarding
>> it.
>> """
> 
> I think it's better, but still I don't see the issue which could be caused
> by a proxy returning 100 when the server is known to be 1.1. I tend to
> consider that expect:100 is more related to the connection than to the
> whole path, eventhough it's still not hop-by-hop in its definition. After
> all, the first goal is to avoid uselessly sending huge amounts of data.
> And the fact that we define the behaviour of each element in the chain
> for this expect and 100 tends to confirm this hop-by-hop behaviour.

So, you'd like to relax this requirement for all connections, not just when the proxy knows that the forward hop is 1.0?

I think that's sensible, but it's a bigger change; what do others think? 


>> Note that this is applying to proxies, NOT gateways (like haproxy), which
>> AFAICT don't have any requirements applying to them. Hmm.
> 
> I understand, but some proxies will analyse posted contents to detect
> malware activity or information leaks etc... and will have to send 100
> themselves anyway.

Yep.


>> I'd also really like to see us define what "final status code" means; is it
>> just 417? Any 4xx or 5xx status? Any non-1xx status?
> 
> I think that since only 1xx are non-final, final are all other ones, but
> you're right, we should define this term.

Anyone disagree with "final" being any non-1xx status code? Note that this would allow an origin to respond with 200 OK to a request with an expectation in it (when the entire request hasn't yet been received). I think that's OK, just wanted to point it out.

Regards,

--
Mark Nottingham   http://www.mnot.net/

Received on Tuesday, 4 June 2013 01:37:44 UTC