[squid-users] 204 no content header

From: Gonzalo Morera <gmorera_at_novell.com>
Date: Thu, 18 Nov 2010 09:19:29 +0000


Using squid 2.6 stable 21 in cascade with another proxy, bordermanager. Browser contacts bordermanager , then bordermanager squid, then to the internet.

When using this combination accessing www.google.de, the streetview options take between 2 and 2 1/2 minutes to load it. If i replace squid with a superlumin iproxy proxy, then it loads in 10 secs.

Lan traces showed a differences between squid and superlumin when a 204 no content is sent to bordermanager. Squid sends the 204 no content and a connection: keep-alive header. This causes bordermanager to do not forward the header to the browser and keep waiting till the tcp timeout ( 2 mins) is reached and connection closed. But superlumin sends the 204 no content but, instead of the connection header, it sends a content-lenght:0 header. In this case bordermanager forwards immediately the header to browser and the load of the page goes on.

I've been searching a lot but i could not find anything to determinate if the content-length header has to be there. The http 1.1 specs says:

"The 204 response MUST NOT include a message-body, and thus is always terminated by the first empty line after the header fields."

if i understood it correctly, the content-length header should be included as it is the way to point to a non message body. But i'm not sure 100%

So, if the content-length is needed on the 204 code, then squid is at fault and i'll be interested to know how can i force squid to use it.

But if content-length header is not mandatory with the 204, then bordermanager is at fault as it should forward the header to browser regardless of the CL header.

Any help is greatly appreciate


Received on Thu Nov 18 2010 - 09:19:39 MST

This archive was generated by hypermail 2.2.0 : Thu Nov 18 2010 - 12:00:03 MST