Verifying validity of objects (using IMS or HEAD)

From: Gyorgy Barna <>
Date: Mon, 2 Sep 1996 12:16:42 +0200 (MET DST)

Would it be possible to check the validity of cached objects instead
of throwing away valid objects (zeroth order error) or returning stale
data (first order error)?

The best way might be to use a two-level) ttl mechanism. The 1st level
ttl would mean, how long the cache would return an object
unconditionally. The 2nd level ttl would mean, that the object is probably
still valid, let's keep it in the cache, but check it's validity through
a HEAD or If-Modified-Since request before returning it.

(It could be implemented just with one ttl per objects. Let's have a
parameter e.g. UNC=0.4 which would mean, that for UNC*ttl time the object
is returned unconditionally, and for the rest of the ttl it is checked
before returning it.)

I's a pity that the Netscape proxy server can do this but squid can't.
(Please, prove me wrong!)
> 1.3.2. The Netscape proxy server
> Cache consistency
> The Netscape proxy server can be configured to guarantee that documents
> are up to date before being sent from the cache. The Cache Refresh timer
> specifies whether to make sure a document is up to date every time it is
> requested, or to wait a specific interval before doing the up-to-date check.
> On the other hand the proxy server can submit a GET If-Modified-Since
> request to the remote HTTP server. The proxy server sends the content of the
> Last-Modified header that was stored in the proxies Cache Information File
> as an 'If-Modified-Since:' header.

Others might have similar ideas:
> From: Jaeyeon Jung <>
> * Instead of throwing away expired objects, How about sending IMS
> GET to the original server when it is requested?

Couldn't it be done like this?
> From: Duane Wessels <wessels>
> Look in icp_hit_or_miss(). There, for 'Pragma: no-cache' requests
> we set "entry = NULL" to ignore any existing entries for this URL.
> When we start getting data back from the IMS reqeust, if its a '200'
> response, then we junk the old entry and start using the new one.

Received on Mon Sep 02 1996 - 03:18:54 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:32:55 MST