Re: Initializing HTTP headers from HTML documents

Dave_Raggett (
Mon, 10 Jan 94 10:08:08 GMT

John Ellson writes:

> I agree with your suggestion that one way to maintain
> cache coherency is by a background polling activity prior to the
> document being re-requested from the cache. This improves cache
> response at the expense of some background polling overhead. I think
> this suggestion can be combined with Roy's proposal (see below).

Thanks for working thru the arguments nicely. I agree that EVAL would
only be useful for the primary server, and hence better done by making
using a script to generate the document instead.

> If the document has an unexpired "Expires" statement in the
> header then a cache server can immediately serve a document
> without checking back with the original server.

> A document that has expired should not be served, instead a
> new copy should be obtained from the original server.

> A document without an "Expires" statement should be checked
> against the source to see if the original document still
> exists and is unchanged. Cache implementers can do this
> either as a periodic polling activity or at the time the
> document is re-requested. In either case the poll can be
> done using Roy's suggested protocol.

This seems like a workable approach. All we need to do now is to
persuade people to modify their servers to implement Roy's check on
a "Last-Modified:" header in the client's request for HEAD and GET.
This can be done incrementally, as Roy points out:

> Note that implementing this protocol would have no effect whatsoever
> on existing servers and clients. Old clients (and any without caches)
> would just continue making requests without Last-modified headers.
> Old servers (at least the NCSA httpd 1.0 that I use) will already accept
> a message of the above format and just ignore the Last-modified header.

Many thanks,

Dave Raggett