Search squid archive

Re: Is there any way to "turn off" or disable the HTTP/1.1 features of Squid?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/07/11 04:13, David Salisbury wrote:
 > > "headers: 'GET http://www.server-im-trying-to-get-to.com/ HTTP/1.1"
 > squidclient only shows the headers between itself and Squid. Not the
headers
 > on the other side of Squid.

But doesn't that GET request above (which I made squidclient print with
the -v flag to see squid's initial request) mean that it's "asking" in
HTTP/1.1? Wouldn't that request end with HTTP/1.0 if it was just asking
in 1.0? Or do I misunderstand something fundamental?

Yes, it does mean _squidclient_ is asking in HTTP/1.1. Just like all modern browsers do. Squid is required to change the version tag on outgoings to its highest supported one. Which for 2.7 is HTTP/1.0. Which is where the below comments come in...


 > Squid-2.7 does not send HTTP/1.1 to servers unless you explicitly
 > configure it by adding the "http11" option on cache_peer.

OK, noted, thanks.

 > Squid-2.7 will also drop 100-continue responses as they arrive.

So I guess that's what is breaking the connection, the 100-continues
being dropped. So, what I'm being told by the support at the remote site
is that the reason it's sending 100-continues to me is because the
client on MY side is making its request in HTTP/1.1. So their server is
obliging, and thus sending back a command which I can't process (or,
that I will drop) on this end and breaking the connection. So it seems,
at least according to them and to what I can tell, that squid IS asking
in 1.1, or something in the request is maybe making their side think
that it is, anyway. BUT, I do see at
http://wiki.squid-cache.org/Http11Checklist that, according to the docs,
Squid is NOT asking in 1.1 and WILL not ask in 1.1 until it is fully
compatible. So that seems to be out (although not third party tested,
according to the link, fwiw). So why is this remote site thinking I'm
1.1 compliant??

To track and verify. The easy way is to tcpdump the traffic from Squid to the service and see what the GET look like after Squids changes it. Or the hard way is to set debug_options 11,9 and look for the headers sent out by Squid to that service.

You can also see from the same traces what the server is sending back to Squid. If you want any help interpreting please post request and reply.


 > To "fix" 100-continue problems the only solution is to enable the
HTTP/1.1
 > feature handling of Expect: headers. 2.7 has enough support enabled by
 > default with the ignore_expect100 directive being turned OFF to drop the
 > Expect: header out of transactions and "fix" any problems it would
have caused.

Well, it seems the default for ignore_expect100 is what I want, based on
http://www.squid-cache.org/Doc/config/ignore_expect_100/. So it seems
there are three possibilities:

1) Something in the squid request is making it "seem" like it's asking
in 1.1 or
2) Something on the remote side I'm connecting to is incorrectly
deciding that I am 1.1 compliant or
3) The remote side is only HTTP/1.1 compliant and so I am out of luck. :/

I may have to talk more with the remote side of things unless you, Amos,
or anyone else has any thoughts or suggestions. Thanks for all of your
input so far!
David


Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.14
  Beta testers wanted for 3.2.0.9


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux