Re: 1xx response forwarding and ignore_expect_100

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Mon, 23 Aug 2010 15:18:42 -0600

On 08/21/2010 02:02 AM, Amos Jeffries wrote:

>> The patch removes the ignore_expect_100 feature because we now forward
>> 100 Continue messages. Is everybody OK with that removal?
>
> No. Bad naming maybe, but its primarily there to suppress 417 responses
> being generated in the negative case to broken clients. Even with
> working 1xx support internally we may still be required to suppress
> these (ie when forwarding to a known 1.0 peer).

The original ignore_expect_100 code was quite intermingled with related
HTTP violations, so I want to make sure I restore the necessary
functionality. Do you want the following functionality?

drop_expect_100 on|off

     Instructs Squid to ignore and remove received "Expect: 100-continue"
     request header(s), if any, before forwarding the request to the
     next hop. Without those headers, the server is likely to respond
     with a 100 (Continue) control message or a 417 (Expectation Failed)
     error(***).

     This option violates HTTP and may hurt clients that expect either a
     100 (Continue) control message or a 417 (Expectation Failed)
     response to an Expect: 100-continue request.

     This option may help broken clients that cannot handle a 100
     (Continue) control message or a 417 (Expectation Failed) response
     but still send an Expect: 100-continue request. As a side effect,
     it will prevent forwarding of 100 (Continue) control messages to
     HTTP/1.0 clients that send Expect: 100-continue headers.

     This option will not help broken HTTP/1.1 clients that cannot
     handle a 100 (Continue) control message when they did not send
     an Expect: 100-continue request.

Thank you,

Alex.
(***) Patched Squid usually forwards but never generates such responses
for 100-continue expectations. When we also add a server-side version
check, Squid will start generating 417 (Expectation Failed) responses
when it receives Expect:100-continue request for a known HTTP/1.0
server. This option will disable such 417 generation in Squid.
Received on Mon Aug 23 2010 - 21:18:45 MDT

This archive was generated by hypermail 2.2.0 : Wed Aug 25 2010 - 12:00:05 MDT