Public bug reported:

Binary package hint: squid

I'm running a squid transparent proxy on my home network.

Sometimes, a client makes a request that:
  * specifies a Range
  * specifies no caching (using Cache-control: max-age=0 and Pragma: no-cache)

In this case, Squid will fetches the entire files even though it is
obvious from the request that doing so is wasteful.  The excess bytes
won't be cached (because of the no-cache headers) or delivered to the
client (because it just requested a range), so they are discarded.

If the file is large, and the client makes a series of no-cache + range
requests for the one file, then the client's download will take *much*
longer than it should, and waste lots of bandwidth, because squid will
keep fetching the whole file over and over for each request.

Here's an actual request sent by a client:

GET /bzr/bzr.dev/.bzr/repository/indices/a3069b4df97462558e8666ff0cc72386.rix 
HTTP/1.1
User-Agent: bzr/0.93.0.dev.0 (pycurl: libcurl/7.16.4 GnuTLS/1.6.3 zlib/1.2.3.3 
libidn/1.0)
Host: bazaar-vcs.org
Accept: */*
Cache-control: max-age=0
Pragma: no-cache
Connection: Keep-Alive
Range: bytes=0-65535,567019-632554

And here's what squid sent:

GET /bzr/bzr.dev/.bzr/repository/indices/a3069b4df97462558e8666ff0cc72386.rix 
HTTP/1.0
User-Agent: bzr/0.93.0.dev.0 (pycurl: libcurl/7.16.4 GnuTLS/1.6.3 zlib/1.2.3.3 
libidn/1.0)
Host: bazaar-vcs.org
Accept: */*
Pragma: no-cache
Via: 1.1 home.puzzling.org:3128 (squid/2.6.STABLE14)
X-Forwarded-For: 10.0.0.3
Cache-Control: max-age=0
Connection: keep-alive

(This is particularly bad for bzr, because "pack" format repositories
consist of a handful of large files, and the client will fetch data from
those repositories by issuing many small requests using the range
header!)

I think this may be related to http://www.squid-
cache.org/bugs/show_bug.cgi?id=1337

** Affects: squid (Ubuntu)
     Importance: Undecided
         Status: New

-- 
squid fetches entire files when it shouldn't
https://bugs.launchpad.net/bugs/175294
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to