Re: [squid-users] caching URL with parameter

From: Brian Lalor <[email protected]>
Date: Fri, 22 Oct 2004 08:11:45 -0500

On Oct 22, 2004, at 7:01 AM, Neise, Volker wrote:

> I am a newbie with squid and run into this problem:

Welcome to the club. I'm surprised this isn't in the FAQ. :-)

> SQUID is going to be our caching-server for another backend. During
> the setup and for the beginning, I observe squid's access_log to see
> wich pages are served out of the cache (e.g. status TCP_HIT) and which
> are served not out of the cache (e.g. status TCP_MISS). In general,
> this works fine. But ....
>
> Some URLs are parameter-based like this:
> "scmcms/web/content.jsp?nodeId=2991&lang=en". In the squid-access-log
> the requests is logged with:
>
> ... TCP_MISS/200 23785 GET http://myserver/scmcms/web/content.jsp? -
> DIRECT/ ...
>
> Thus, the browser-request for the URL seems to be not cached.

Correct. I frankly find this default behavior pretty unreasonable,
since, while this result is technically for a "dynamic" document, it is
repeatable (unlike POST queries) and I think that, given the proper
HTTP headers, it should (and will) be cached.

I found the solution[1] in the mailing list archives, fairly well
buried. This behavior is created by having the following two lines in
your squid.conf:
        acl QUERY urlpath_regex cgi-bin \?
        no_cache deny QUERY

Commenting those out allowed GET queries with parameters to be cached.

[1] http://www.squid-cache.org/mail-archive/squid-users/200409/0416.html

-- 
Brian Lalor
Web Portal Analyst
Delta Faucet Co.
blalor@deltafaucet.com
(v) 317-573-3461
Received on Fri Oct 22 2004 - 07:11:48 MDT

This archive was generated by hypermail pre-2.1.9 : Mon Nov 01 2004 - 12:00:02 MST