Expires, Last-Modified, Pragma: no-cache etc.

It seems to me that much (but not all) of the discussion over the last
few months on the Expires, Last-Modified headers is really due to the
desire of server administrators to control whether a document is cached.

One of the big improvements in the current HTTP spec is the "Pragma:
no-cache" header.  This provides a way to say, "Don't cache this,"
without the need for fictitious expiration or last-modified dates.
This is important.  There are often good reasons for saying that a
document should not be cached, but having a future expiration date
(for example, if the validity of the document doesn't, in fact *expire*
until that date).

The only problem is that server admins often want to prevent local disk
caching as well as proxy caching and the Pragma: no-cache applies only
to the latter.  Perhaps we also need a "Pragma: no-local-cache".

One thing of which I am thoroughly convinced is that if a clean mechanism
for giving administrators this capablility is not made available then
every conceivable ugly hack which has the desired effect will gain
widespread use.  We will see 1970 expiration dates (always a lie) and
future last-modified dates (also a lie).  These hacks will likely work
with some clients/proxies and fail with others. There will, no doubt,
even be those who use different hacks based on the User-Agent header
of the request!  Why not make life easier for everyone and allow a server
to cleanly request that a document not be cached to local disk.
This should be a separate request from the Pragma: no-cache request to
prevent proxy caching.

John Franks

Received on Tuesday, 15 August 1995 18:59:11 UTC