On Mon, 7 Mar 2005, Henrik Nordstrom wrote:

Ugh.. this is a seriously broken server.

 Transfer-Encoding: chunked

in response to a HTTP/1.0 request (squid is HTTP/1.0) is a big NO NO NO.

header_access Accept-Encoding deny all

maybe this works around the server bug.

(note: Accept-Encoding doesn't really have anything to do with Transfer-Encoding, but...)

Verified and seems to indeed be the case.

This server behaving oddly in many ways. My first attempts in sending test requests to this server always gawe "HTTP/1.1 400 Invalid Request" errors, but after some fiddling it now accepts my probes (very picky server).

With "Accept-Encoding: chunked" it responds with a chunked transfer encoding of a gzip:ed content encoded entity.

The server most certainly is not an IIS/6.0 even if advertised as such. Looks like there is some anonymous misbehaving frontend server infront of the IIS/6.0 server applying the gzip compression or maybe misadvertisign the request as an HTTP/1.1 request to IIS.

There is some things we can do to work around this buggy server. For a start we should reject "Transfer-Encoding: chunked" replies as these can not be forwarded proper, but we could obviously try to be smarter than this

a) Decunk chunked replies on the fly when received by HTTP. Not as hard as it sounds, except possibly some bad design interactions with how the http header is forwarded...

b) Reject chunked replies, but first retry the request while filtering out any headers wich are suspected to trigger the chunked transfer encoding

     - Accept-Encoding
     - TE
     (any other?)

  c) Ignore the whole mess.

Regards
Henrik

Reply via email to