One of the useful features of HTTP is the ability of a non-GET method (i.e., one with side effects) to target a resource to be invalidated by caches with a URI. See:
  http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.10
  http://www.mnot.net/blog/2006/02/18/invalidation

This is nice and useful, but more complex RESTful applications will find it lacking; often, a change in the state of one resource will affect many others, not just one. I've had thoughts of coming up with HTTP extensions (or a specific entity format) to enable this on the back burner for a while, when I realised (duh) that a Microformat would do the trick nicely.

E.g.,

<html>
<head><title>Delete Successful</title></head>
<body profile="http://example.org/not/spec'd/yet">
<h1>It was deleted.</h1>
<p>This affects the state of the following resources:</p>
<ul>
<li><a class="invalidation" href="http://www.example.com/things/ this">This</li>
<li><a class="invalidation" href="things/that">That</li>
<li><a class="invalidation" href="http://www.example.org/stuff/the other">The Other</li>
</ul>
</body>
</html>

With the same security considerations as in section 13.10 (although I could see it being modified; see separate cover).

The semantics would be that clients understanding this extension could also invalidate cached entries marked up with the microformat. They couldn't be required to do so, of course, because you can't guarantee that they'll be understood (except in controlled environments), but it seems like it would be helpful in some scenarios. Especially if other extensions (e.g., one for offline Web caching; see http://www.mnot.net/blog/2006/02/07/offline) could leverage it.

The syntax could be a class on 'a' tags, or a link tag, or both.

Thoughts?

--
Mark Nottingham
[EMAIL PROTECTED]



_______________________________________________
microformats-rest mailing list
[email protected]
http://microformats.org/mailman/listinfo/microformats-rest

Reply via email to