From: Robert Collins <[EMAIL PROTECTED]> To: Y Jones <[EMAIL PROTECTED]> CC: Squid Users <[EMAIL PROTECTED]> Subject: Re: [squid-users] TCP_REFRESH_HIT instead of TCP_HIT? Date: Thu, 6 Nov 2003 05:38:27 +0700
On Thu, 2003-11-06 at 08:11, Y Jones wrote:
> I am running 3.0-PRE3-20031002 in accelerator mode on port 80 with apache
on
> port 81.
>
> Here are the headers when fetching a page straight from apache:
> HTTP/1.1 200 OK
> Date: Wed, 05 Nov 2003 20:23:51 GMT
> Server: Apache/1.3.28 (Unix)
> Cache-Control: max-age=86400
> Expires: Thu, 06 Nov 2003 20:23:51 GMT
> Surrogate-Control: max-age=3600, content="ESI/1.0"
> Last-Modified: Wed, 05 Nov 2003 20:20:23 GMT
> Connection: close
> Content-Type: text/html
>
> It looks to me like this page should get cached for 3600 seconds at least.
>
> Fetching the page from the squid on the same machine a few seconds later
> gives these changes/additions:
> Date: Wed, 05 Nov 2003 20:20:46 GMT (date is slightly older than
> above)
> Expires: Thu, 06 Nov 2003 20:20:46 GMT (date is slightly older than
> above)
> Last-Modified: Wed, 05 Nov 2003 20:20:23 GMT (date is the same as
> above)
Thats weird. Given that the processes are on the same machine. Could you file a bug please?
ok. done.
> Age: 187 > X-Cache: HIT from www.myserver.com > Via: 1.0 www.myserver.com (squid/3.0-PRE3-20031002) > > And access.log calls it a TCP_REFRESH_HIT, instead of a TCP_HIT. > And cache.log calls it STALE, with: > entry->timestamp: Wed, 05 Nov 2003 20:20:46 GMT
It is stale - the expires has passed. the Surrogate Control header overrides this.
I'm sorry. I don't understand. It was Wednesday when I wrote this, and the Expires for both the apache and squid responses said Thursday. How do I need to set Surrogate-Control to get TCP_HITs instead of TCP_REFRESH_HITs and how do I force squid to reload this page, once I have?
> I am using the default refresh_pattern. I am not using always_direct. > > Attempting to force a refresh of the object in the cache using: > squidclient -r -p80 -hwww.myserver.com > http://www.myserver.com/path/to/the/file.htm > ...yields a TCP_REFRESH_HIT and there is no change to "entry->timestamp"
This is because the surrogate control overrides the browsers request for reloading. In a front-end scenario squid is authoritative for the content.
Cheers, Rob -- GPG key available at: <http://members.aardvark.net.au/lifeless/keys.txt>.
_________________________________________________________________
MSN Messenger with backgrounds, emoticons and more. http://www.msnmessenger-download.com/tracking/cdp_customize