resource immutability

Just thinking out loud;

There are a number of situations where it would be good to explicitly mark
a representation of a resource as immutable; that is, state that it will
not vary over time. For example, it would be nice to have an explicit way
to let schema processors know that they should download a representation
into their cache and use it from now on. Or, that a manually downloaded
and installed schema is effectively good forever.

Although this can (and ultimately should) be done in a framework like RDF,
HTTP seems like a more reasonable place to start; there are efforts
underway to bridge HTTP metadata to RDF anyway.

I'm thinking something like a Cache-Control directive;
  Cache-Control: time-immutable

It can be argued that the caching model in HTTP/1.1 allows UAs to do this
already (i.e., either give the representation an extremely long freshness
lifetime, or use stale representations with a warning), but this subtlety
seems to pass most implementors by. An explicit directive is easy to
understand and apply.

Thoughts?

It might also be interesting to think about hinting in the response that
other variants are available for a particular resource (without using
content negotiation) or stating that no other variants (along various axes
besides time) are available, but that can wait.

--
Mark Nottingham

Received on Tuesday, 22 October 2002 17:38:51 UTC