On 17/04/2013 8:19 p.m., anita wrote:
Hi All,
I am using Squid 3.1.16.
I had modified the request header in Squid to include: "Accept-Encoding:
gzip".
The request is also sent to the Apache server. The server seems to even
compress the object and return with proper headers.
But the squid seems to drop the "content-encoding" header. It also seems to
drop the content-length header.
I am not able to understand why Squid replaces the Content-Encoding header
with something else and why it was marking as internal?
These are my tcpdumps for the request and response from the Apache:
Request sent to Apache (tcpdump)
----------------------------------
GET./compres
s.html.HTTP/1.1.
.User-Agent:.Wge
t/1.12.(linux-gn
u)..Accept:.*/*.
.Host:.10.145.66
.205..Referer:.h
ttp://10.145.66.
205/fetchcompres
s.html..Accept-E
ncoding:.gzip..V
ia:.1.1.prefetch
.net.(squid/3.1.
16)..X-Forwarded
-For:.unknown..C
ache-Control:.ma
x-age=259200..Co
nnection:.keep-a
live....
Reply header as sent by Apache (tcpdump)
HTTP/1.1.200
.OK..Date:.Wed,.
17.Apr.2013.02:1
3:13.GMT..Server
:.Apache/2.2.15.
(Red.Hat)..Last-
Modified:.Wed,.1
7.Apr.2013.01:21
:00.GMT..ETag:."
1208df-282-4da84
4c80d89e"..Accep
t-Ranges:.bytes.
.Vary:.Accept-En
coding..Content-
Encoding:.gzip..
Content-Length:.
125..Connection:
.close..Content-
Type:.text/html;
.charset=UTF-8..
Reply header (as given by Squid) after it receives data from Apache
-----------------------------------------------------------------
HTTP/1.0 200 Internal marker object
Server: squid/3.1.16
Mime-Version: 1.0
Date: Wed, 17 Apr 2013 07:16:30 GMT
Content-Type: x-squid-internal/vary
Expires: Thu, 18 Apr 2013 11:03:10 GMT
Vary: Accept-Encoding
This is an internal object used by Squid to manage variant caching. It
is telling Squid that future requests for this URL needs to be combined
with the clients Accept-Encoding header to determine what object to
return. With normal operation the Accept-Encoding sent to the server
would be created by the client and the server response would be stored
at the location the server request URL and Accept-Encoding headers.
I suspect that what is happening is that the client did not send any
Accept-Encoding header. Which makes the client URL plus client
Accept-Encoding header point back at this marker object instead of the
intended serve response. Please confirm that by looking at the client
request received by Squid.
Amos