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

John Franks writes:
 > According to Lou Montulli:
 > > 
 > > I recently changed netscape to interpret "Pragma: no-cache" and not
 > > cache the object.  This is slightly different than a "Expires" header
 > > because the object will not even be cached for history navigation.
 > > (Documents that are expired are still shown when traversing the session
 > > history).  Haveing the client interpret "Pragma: no-cache" lets servers
 > > tell the client that this information is highly sensitive or volitile
 > > and should not be cached in any way.
 > > 
 > 
 > Well, I find this reasonable.  But, I believe that the latest version of
 > the spec says the client should ignore Pragma: no-cache.  What I think
 > is important is that there be some way to stop the client from caching
 > -- as apparently there now is with Netscape. :)
 > 
 > I don't care if it is Pragma: no-cache or if there is a separate way
 > (Pragma: no-local-cache ?) but apparently someone does since the spec
 > wants the client to ignore Pragma: no-cache.  Could someone  explain
 > the rationale for this?
 > 
 > John Franks

The reason Pragma: no-cache is not a redundant way of saying Expires:
<= now is that it allows servers to send essentially "private"
documents to particular clients where these documents need not expire
immediately.  If intermediate proxies cannot cache the document (due
to Pragma: no-cache) but clients can, this makes for more flexibility
at the client end.  The client would not be required to issue a new
HTTP request when revisiting the non-expired document.  Since this
appears to be the only added functionality of Pragma: no-cache as a
return header, though, I think it probably should have been called
something else, such as Pragma: private (or something equally, or more,
mnemonic).  The problem with calling it Pragma: no-cache is that
user-agent designers will feel that it ought to have some effect on
the client, which it shouldn't, because Expires is sufficient for
controlling caching in the client.

So I think the above mentioned changes to Netscape are probably ill
advised and in fact defeat the purpose of this header.  If it stays in
the Netscape browser as mentioned, the new header will have been
rendered useless.  (It will not be possible to send "private"
documents that are client-cacheable, which is the only added benefit
of it in the first place).


--Shel Kaphan
  sjk@amazon.com

Received on Wednesday, 16 August 1995 09:39:00 UTC