- From: Andrew Daviel <andrew@andrew.triumf.ca>
- Date: Wed, 16 Apr 1997 15:33:38 -0700 (PDT)
- To: Jeffrey Mogul <mogul@nospam.org>
- Cc: http-wg@cuckoo.hpl.hp.com
On Wed, 16 Apr 1997, Jeffrey Mogul wrote: > the practice in the Squid world seems to be different. I'm > not sure I fully understand the Squid code, but the version > I looked at seems to allow caching of a response without > a Last-Modified header. Looking at Squid 1.1 (1.0 was slightly different) Default : cache_stoplist cgi-bin ? (don't cache queries or anything with cgi-bin in the path) Default : refresh_pattern . 0 20% 4320 Given : AGE is how much the object has aged *since* it was retrieved: AGE = NOW - OBJECT_DATE LM_AGE is how old the object was *when* it was retrieved: LM_AGE = OBJECT_DATE - LAST_MODIFIED_TIME LM_FACTOR is the ratio of AGE to LM_AGE: LM_FACTOR = AGE / LM_AGE CLIENT_MAX_AGE is the (optional) maximum object age the client will accept as taken from the HTTP/1.1 Cache-Control request header. EXPIRES is the (optional) expiry time from the server reply headers. and refresh_pattern <URL regular expression> MIN_AGE PERCENT MAX_AGE then if (CLIENT_MAX_AGE) if (AGE > CLIENT_MAX_AGE) return STALE if (AGE <= MIN_AGE) return FRESH if (EXPIRES) { if (EXPIRES <= NOW) return STALE else return FRESH } if (AGE > MAX_AGE) return STALE if (LM_FACTOR < PERCENT) return FRESH return STALE (from Release-Notes-1.1.txt) So, if I understand this correctly, with a stock config file: Objects with a Last-Modified header are cached for 3 days, or when they expire, or for 20% of their age when cached, whichever is shortest. Objects without a Last-Modified header are cached for 3 days, or until they expire. Queries are not cached at all. One can modify the config, as I have done, to cache queries, perhaps pattern-matched to expire sooner than text or images. Apart from CGI, server-side includes in Apache without XBitHack will typically not have a Last-Modified date. (Incidentally, from a recent survey I did, I see 91% with Date 70% with Content-Length 64% with Last-Modified 12% with Etag 4% with Expires 1% with Set-Cookie 1% with Cache-Control though I know we're discussing the future, not the present) Andrew Daviel
Received on Thursday, 17 April 1997 00:20:08 UTC