- From: Roy Fielding <fielding@beach.w3.org>
- Date: Wed, 16 Aug 1995 15:07:33 -0400
- To: Lou Montulli <montulli@mozilla.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>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. Hmmm, that's a different interpretation than what I perceived from the third-hand descriptions of what this feature might do. It really is better to hear about protocol experiments from the source. Something that the WG needs to keep in mind is that what I write in the *draft* specification is what I believe to be the abstract and specific semantics of each feature in the protocol. I am counting on people to correct me when what I write does not match their own interpretation of the protocol. Since I've developed my own client library, client, and small portions of two servers, most of the time I do get it right, but certainly not all of the time. What I wrote in Draft 01 for the Pragma field's abstract semantics may be wrong. It is based on my interpretation of the meaning of the current "no-cache" request header, and I merely extended that semantics to the other directives. Pragma directives must be passed through by a proxy, regardless of their significance to that proxy, since the directives may be applicable to all intermediaries along the request/response chain. It is not possible to specify a pragma for a specific proxy; however, any pragma directive not relevant to a proxy should be ignored. Instead of "intermediaries", we could say "recipients", and the following paragraph: Pragma directives do not apply to the end-points of a request/response chain. For example, a user agent's internal (non- shared) cache and/or history mechanism should ignore all pragma directives in received messages. Similarly, pragma directives are not applicable to the origin of a resource, though they may be applicable to a server's internal response cache. could be replaced with Pragma directives only apply to recipients that implement features corresponding to the directive's semantics. For example, a no-cache directive tells the recipient not to make use of its caching mechanism in satisfying the request when it occurs in a request header, or in storing the response when it occurs in a response. Pragma directives are also unidirectional in that the presence of a directive in a request does not imply that the same directive be given in the response. We can then add a new directive to cover the semantics of a response that must not be shared by multiple users. We could call it "private", but I am afraid that this would also imply privacy, which it shouldn't. Unfortunately, there does not seem to be an antonym for "shared" or "communal", so how about Pragma: non-shared no-sharing do-not-share Er, on second thought, maybe we should just use "private"... ....Roy T. Fielding Department of ICS, University of California, Irvine USA Visiting Scholar, MIT/LCS + World-Wide Web Consortium (fielding@w3.org) (fielding@ics.uci.edu)
Received on Wednesday, 16 August 1995 12:50:08 UTC