[squid-users] Why does Squid downgrade HTTP versions in its request?

From: Mordy Ovits <movits@dont-contact.us>
Date: Thu, 6 Jan 2005 13:43:08 -0500

When we configure I.E. to use squid-2.5.STABLE6 as a proxy, squid
inexplicably uses HTTP/1.0 to get the page, even though the browser
used HTTP/1.1, and the server offered HTTP/1.1.

Here's the redacted request that the browser sends:
==============
GET http://Servername/search/blah.php?query=BILL+GATES HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
CLR 1.1.4322)
Host: Servername
Proxy-Connection: Keep-Alive
===============

Notice that the browser used version 1.1. Here's how squid
responded:

===============
HTTP/1.0 200 OK
Date: Tue, 28 Dec 2004 16:04:39 GMT
Server: Apache/2.0.46 (Red Hat)
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.2
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from squid.server.com
Proxy-Connection: close
================

While it's legal to reply with a 1.0, it only did that because it itself
used 1.0 to get the page from the web server. Here's how squid got the
page from the server:

================
GET /search/blah.php?query=BILL+GATES HTTP/1.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
CLR 1.1.4322)
Host: Servername
Via: 1.1 squid.server.com:3128 (squid/2.5.STABLE6)
X-Forwarded-For: 172.16.245.97
Cache-Control: max-age=259200
Connection: keep-alive
================

Notice that squid sent its request with version 1.0. Why?

And the web server's response:

================
HTTP/1.1 200 OK
Date: Tue, 28 Dec 2004 16:04:39 GMT
Server: Apache/2.0.46 (Red Hat)
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.2
Connection: close
Content-Type: text/html; charset=UTF-8
================

The web server was perfectly happy to speak 1.1. It matters, because
1.1 offers better persistent connection support, particularly of
dynamic content. When I.E. goes directly to the web server, it uses
fewer connections to complete its requests for the same page.

Does anyone know why squid formulated its request as 1.0? Or how to fix
this?

Thanks,
Mordy

-- 
Mordy Ovits
Network Security
Bloomberg L.P.
Received on Thu Jan 06 2005 - 11:41:56 MST

This archive was generated by hypermail pre-2.1.9 : Mon Mar 07 2005 - 12:59:35 MST