W3C home > Mailing lists > Public > http-caching-historical@w3.org > February 1996

Re: Ordered 'opqque' validators

From: David W. Morris <dwm@shell.portal.com>
Date: Tue, 6 Feb 1996 03:01:07 -0800 (PST)
To: Shel Kaphan <sjk@amazon.com>
Cc: Jeffrey Mogul <mogul@pa.dec.com>, HTTP Caching Subgroup <http-caching@pa.dec.com>
Message-Id: <Pine.SUN.3.90.960206024018.9396C-100000@jobe.shell.portal.com>

On Mon, 5 Feb 1996, Shel Kaphan wrote:

> Here's another similar example that shows how this can happen without such
> inconsistent use of Expires dates (except in the expectable way):
> 1:00:	Client A requests document X through cache C1.
> 	The document expires at 4:00.
> 2:00:  	Client B requests document X through cache C2.
> 	The document has been prematurely updated and now expires at
> 	3:00.  (It's a newsletter -- an unpredicted
> 	news event has suddenly changed
> 	the author's time frame for generating updates).
> 3:00	Client B conditionally gets X through C1.
> 	At this point C1 contains a different version of the document
> 	than client B has.  B's version is stale, and C1's version is fresh.
> At this point, C1 can "legitimately" return its cached version, but B
> will be disappointed. There is no clock skew involved, only silly
> humans changing their minds about expiration dates.  Unlikely?  Maybe
> so.

In general, I would expect the extablishment of expiration values to
be policy decisions based on expectations. I think it quite likely
that any number of scenarios will exist in real human organizations
where expirations get set shorter and cause the above to occur.

The possibility is compounded if we introduce a probabalistic
expiration such as we discussed.  All it takes is two
different interpretations of the same curve. A user agent 
might expire early and a busy cache expire late. The problem occurs.

I can also envision applications where the content changes fairly
frequently but is applicable and hence expires over a longer interval
than the change rate. A weather MAP might be such an application.
A new map every 15 minutes, expire every hour using a normal
distribution with 1 sigma= 15 minutes.

Add to the mess a user interface to the proposed revalidate option
and we have yet another reason for a validate request in the
problematic order.

In the case where explicit or implicit revalidation results in
backleveling a resource, I assert that the user will be more than
disappointed. My wife is not terribly computer literate and would
consider such an even as yet more evidence that computers are not
friendly. She would notice the anomolie (perhaps triggered by the
long delay to reload the file). I don't think my wife is unusual.

I guess, I don't see any reason to insist that an opaque validator
not have an order property. The doesn't compromise opqueness in any
significant fashion and while it would preclude a date of the 
rfc822 form from being used as a validator, it wouldn't prevent
use of a date. Or the HEX representation of the epoc date or
any other arbitrary value which satisfied the ordering rule.

I see two options:
1.  Always require ordering based on LtoR comparison of ASCII
2.  Making ordering optional and require a prefix on the
    validator which defines the ordering rule. I would limite
    such a prefix to identification of left or right padding
    with 0x30 (ascii zero) to adjust lengths for comparison.
    For example, the ordered validator might appear as
    rp;092765AF to indicate right padding, etc.

Dave Morris
Received on Tuesday, 6 February 1996 11:25:39 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:55:57 UTC