- From: Jeffrey Mogul <Jeff.Mogul@hp.com>
- Date: Wed, 24 Nov 2004 11:54:06 -0800
- To: Lisa Dusseault <lisa@osafoundation.org>
- Cc: "HTTP working group" <ietf-http-wg@w3.org>, "'simple@ietf.org'" <simple@ietf.org>
So when I look at what a resource is across all these HTTP extensions and in HTTP itself, and what XCAP wants to do, it seems to me that more often than not the XML document is the resource, and the XML node should simply be a part of that resource. We might think it would be nice to lock and add access control independently for every XML node but I don't think that will be manageable. Certainly the per-node version history seems prohibitive while the ability to view past versions of the whole document (and revert to a past version) seems potentially useful. That's what I mean by the granularity problem with extensions -- the choice of granularity for "what is a resource" has a lot of implications. I admit that I haven't been following this discussion in great depth. But when I read this paragraph, I thought that maybe the way to get at "node resources" is to treat them as a kind of "Range". Remember that the Range and Accept-Ranges headers in RFC2616 are not necessarily limited to byte ranges, although the spec is biased in that direction: 3.12 Range Units HTTP/1.1 allows a client to request that only part (a range of) the response entity be included within the response. HTTP/1.1 uses range units in the Range (section 14.35) and Content-Range (section 14.16) header fields. An entity can be broken down into subranges according to various structural units. range-unit = bytes-unit | other-range-unit bytes-unit = "bytes" other-range-unit = token The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1 implementations MAY ignore ranges specified using other units. HTTP/1.1 has been designed to allow implementations of applications that do not depend on knowledge of ranges. One would hope that any extant implementation of Accept-Range is smart enough to ignore something *like* Accept-Ranges: xcap-nodes which would allow you to define a new specification for "ranges" of XCAP XML nodes that would be backwards compatible with HTTP/1.1. Then (if you pardon me for my complete ignorance of XCAP details) you could replace Lisa's example: http://xcap.example.com/services/resource-lists/users/bill/fr.xml/~~/ resource-lists/list%5b@name=%22friends%22%5d/entry with something like GET /services/resource-lists/users/bill/fr.xml/ HTTP/1.1 Host: xcap.example.com Range: xcap-nodes="resource-lists/list%5b@name=%22friends%22%5d/entry" with the obvious syntax if you wanted to get multiple nodes at once. Like I said, this could be totally naive. -Jeff
Received on Wednesday, 24 November 2004 19:54:10 UTC