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.

Reply via email to