Next: Client polling
Up: Cache Coherency Checks
Previous: HTTP headers used for
In this technique each cached page is assigned an expiration time (TTL).
Until this time expires, the document is served from cache. Once it expires,
the first GET will be handled by sending
a conditional GET to the next higher cache to check if the page has changed;
at this time the expiration time is reset to the default value. Different caches
may have different algorithms for setting the expiration time. A very simple
one would just set it to the date in the Expires header. The problem is that
most pages don't have this header present, and for a good reason: for many pages
it is difficult to estimate their lifetime in advance. Other algorithms set
the expiration time to the caching time plus some interval, which in many cases
is (a fraction of) the time since the document was last modified.
While these techniques will do better than the naive ones, they are ad-hoc,
and, not surprisingly, unsatisfactory. Users have no guarantee as to document
staleness, they cannot tell how much staleness they are willing to tolerate,
and they are forced to wait until the validation check is done, while they may
be very happy reading the cached page. Also, it is difficult as to which
cached object should be assigned what value as their TTL, and obviously
every cached object will not have the same TTL. A modified TTL, Adaptive TTL
is a technique whereby
the TTL of an object is updated within the cache, when a cache hit occurs.
Next: Client polling
Up: Cache Coherency Checks
Previous: HTTP headers used for
Anil Gracias
2001-01-18