according RFC what's the case for Squid 2.7 about "HTTP/1.0 417 Expectation
failed", "X-Squid-Error: ERR_INVALID_REQ 0"
A, B, C ,D ?
RFC says:
Requirements for HTTP/1.1 proxies:
A - If a proxy receives a request that includes an Expect request-
header field with the "100-continue" expectation, and the proxy
either knows that the next-hop server complies with HTTP/1.1 or
higher, or does not know the HTTP version of the next-hop
server, it MUST forward the request, including the Expect header
field.
B - 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.
C - Proxies SHOULD maintain a cache recording the HTTP version
numbers received from recently-referenced next-hop servers.
D - A proxy MUST NOT forward a 100 (Continue) response if the
request message was received from an HTTP/1.0 (or earlier)
client and did not include an Expect request-header field with
the "100-continue" expectation. This requirement overrides the
general rule for forwarding of 1xx responses (see section 10.1).
----- Original Message -----
From: "Amos Jeffries" <squid3@xxxxxxxxxxxxx>
To: <squid-users@xxxxxxxxxxxxxxx>
Sent: Friday, February 19, 2010 12:14 PM
Subject: Re: HTTP/1.0 417 Expectation failed
Riccardo Castellani wrote:
I'm using Squid 2.7 STABLE3 and I noted my software sends http Request =
where there is written:
POST http://www.inps.it/...
...
Expect: 100-Continue
Squid answers saying :
HTTP/1.0 417 Expectation failed
...
X-Squid-Error: ERR_INVALID_REQ 0
Squid uses Expect request ?!
No. Squid is HTTP/1.0 Expect does not exist in that protocol.
How Can I solve it ?
Write/Use software that knows how to handle Expect response errors
properly.
When receiving 417 it should be re-trying the POST without the expect
header, or the delays Expect adds to the system.
Squid other than 2.7 will not produce this error. They will just die in
unexpected ways if the 100-continue your software asked for actually comes
back.
Amos
--
Please be using
Current Stable Squid 2.7.STABLE8 or 3.0.STABLE24
Current Beta Squid 3.1.0.16