- From: Roy T. Fielding <fielding@avron.ICS.UCI.EDU>
- Date: Sun, 10 Mar 1996 20:28:39 -0800
- To: Jeffrey Mogul <mogul@pa.dec.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>> However, I am willing to give-in to that notion IF the opaque >> validator is sufficiently useful to cover the cost of sending it. >> That is, the opaque validator must be generally interoperable with >> existing systems and carry sufficient semantics for use for things >> other than cache updates. > > First of all, the generally understood meaning of the word "opaque" > is "has no meaning to clients", and therefore if you want the > validator to carry other semantics, you're not talking about an > "opaque" validator. Actually, it means "can't see through it" -- it does not mean that the string cannot hold a given set of semantics. A validator is worthless if it doesn't require some mechanism for comparing its value independent of the source (e.g., byte-equality), since the source cannot be contacted for all comparisons. >> In order to provide that additional usefulness, we need three things: >> >> 1) A guarantee that the validator will change if the content changes >> and should not change if the content remains the same; >> 2) A guarantee that the validator is byte-comparable (i.e., equal >> validators mean equal content); >> 3) A guarantee that the validator is world-unique. >> >> (1) is obvious. > > Not necessarily. To be useful as a cache validator (unburdened > by any other semantics), it is sufficient that the value changes > if the content is semantically different. It is not necessary > that the value change on every insignificant change in the content > (where "significant" is defined by the application that generates > the content). I said "additional usefulness". The particular additional usefulness I have in mind is for a basic indicator of change which would be usable for preconditions [i.e., the most often used precondition is "don't do this if a change has already been made that I don't know about"]. Dual application reduces the cost of implementing both, and I personally need this functionality more than I need transparent caching. Since it is unlikely that anyone will ever implement a system which only changes the validator for "significant" changes, I think it would be silly to lose the additional functionality gained from a guaranteed change indicator. Note also that if we have (1) and (2), we also have a clear algorithm for constructing a unique ID identical to Content-ID, which would be useful for gateways and cache tables even if we don't use the Content-ID syntax of MIME [because we get (3) by combining the validator with the Request-URI]. ...Roy T. Fielding Department of Information & Computer Science (fielding@ics.uci.edu) University of California, Irvine, CA 92717-3425 fax:+1(714)824-4056 http://www.ics.uci.edu/~fielding/
Received on Sunday, 10 March 1996 22:59:02 UTC