Re: URL doesn't work with Squid 2.0

From: Michael Fuhr <mfuhr@dont-contact.us>
Date: Sun, 11 Oct 1998 20:13:17 -0600

On Mon, Oct 12, 1998 at 10:14:06AM +1000, Andrew Specht wrote:

> I seem to have the same problem, but i don't really understand the solution
> Duane posted. Would you be able to explain this in more detail?

[snip]

> >>Can anyone confirm, or know how to fix it?
> >
> >Tell the server to send a valid content-length reply header?
> >
> >1998/10/09 11:56:19| httpProcessReplyHeader: key
> '676705500A53A757417D11AD0AB070BB'
> >1998/10/09 11:56:19| ctx: enter level 0:
> 'http://204.99.178.237:2080/start.html'
> >1998/10/09 11:56:19| GOT HTTP REPLY HDR:
> >---------
> >HTTP/1.0 200 OK
> >Content-Type: text/html
> >Content-Length: 0
> >
> >Duane W.

The HTTP server is sending a "Content-Length: 0" header, which means
there's no data. Duane suggested fixing the HTTP server since it's
apparently broken. How to do this depends on whether you control the
server; if not, contact the server admins and ask them to fix it.

I suppose one could argue that Squid is being too intolerant of the
bogus Content-Length header, given the Robustness Principle ("be liberal
in what you accept, and conservative in what you send") and the HTTP/1.0
specification. Here's an excerpt from RFC 1945 Section 7.2.2, which
discusses how to determine the entity length:

    Note: Some older servers supply an invalid Content-Length when
    sending a document that contains server-side includes dynamically
    inserted into the data stream. It must be emphasized that this
    will not be tolerated by future versions of HTTP. Unless the
    client knows that it is receiving a response from a compliant
    server, it should not depend on the Content-Length value being
    correct.

While sending a bogus Content-Length header "will not be tolerated
by future versions of HTTP," the server advertises itself as speaking
HTTP/1.0, so one could argue that Squid should heed this warning and
not depend on the header being correct. On the other hand, I'm not
one to advocate workarounds that aren't a fix to the real problem.
The server sends a "Content-Length: 0" header, so that's what Squid
uses. What's the point of sending the header if nobody can trust it?
It's the server that's broken, so it's the server that should be fixed.

-- 
Michael Fuhr
http://www.fuhr.net/~mfuhr/
Received on Sun Oct 11 1998 - 19:16:13 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:42:25 MST