I think this work is in an interesting space but, unfortunately, it's
doing it without reference to the existing HTTP caching model,
resulting in a lot of duplicated work, potential conflicts and
ambiguities, as well as opportunity cost.
Furthermore, it's specifying an API as the primary method of
controlling caches. While that's understandable if you look at the
world as a collection of APIs, it's also quite limiting; it precludes
reuse of information, unintended uses, and caching by anything except
the browser.
A much better solution would be to declaratively define what URIs
delineate an application (e.g., in response headers and/or a separate
representation), and then allow clients to request an entire
application to be fetched before they go offline (for example). I'm
aware that there are other use cases and capabilities here, this is
just one example.
Doubtless there's still a need for some new APIs here, but I think
they should be minimal (e.g., about querying the state of the cache,
in terms of offline/online, etc.), not re-defining the cache itself.
FWIW, I'd be very interested in helping develop protocols and APIs
along what's outlined above.
Cheers,
P.S. This draft alludes to automatic prefetching without user
intervention. However, there is a long history of experimentation with
pre-fetching on the Web, and the general consensus is that it's of
doubtful utility at best, and dangerous at worst (particularly in
bandwidth-limited deployments, where bandwidth is charged for, as well
as when servers are taken down because of storms of prefetch requests).
On 17/07/2009, at 6:10 AM, Nikunj R. Mehta wrote:
I have published the first draft of the DataCache API, which is
based on Oracle's BITSY proposal [1]. Here's a link to the draft:
http://dev.w3.org/2006/webapi/DataCache/
This document defines APIs for dynamically and statically
serving off-line representations of HTTP resources.
As the Chairs have concluded this to be within the scope of our
current charter, I would request feedback from you so we can
incorporate it before publication as a working draft.
Nikunj
http://o-micron.blogspot.com
[1] http://www.oracle.com/technology/tech/feeds/spec/bitsy.html
[2] http://lists.w3.org/Archives/Public/public-webapps/2009JulSep/0098.html
--
Mark Nottingham [email protected]