- From: Tim Ellison <Tim_Ellison@uk.ibm.com>
- Date: Fri, 7 Sep 2001 10:37:25 +0100
- To: ietf-dav-versioning@w3.org
Peter Raymond <Peter.Raymond@merant.com> wrote: > Hi, > > I have a few issues/questions surrounding the use of the depth header... > > As Geoff pointed out in his reply to my message on the Vary header, GET > does not take a Depth header. This would have been really useful, this > came up in one of our deltav study groups here in MERANT...the scenario > was this: > > You are a Working-Resource based client and are using labels to identify > files to be used in a build (this is a common use of labels, the label > selects which versions are to be included in a build). > > If we could do a GET with a Depth header and supply the label in the label > header then in one operation we could retrieve all files needed for the build. > Since the spec does not allow Depth on GET we would have to do a PROPFIND > to get the DAV:label-name-set (or do a DASL query) and then issue multiple > GET methods specifying the label header. > Why was depth not defined on the GET method? Seems like a really useful > feature. In principle there is no problem doing a deep GET, however in practice it would likey result is a huge response being sent by the server. That response would have to be in multi-part MIME format to indicate the types of the resources that were being returned; and it would not lend itself to hitting caches maintained by all commonplace proxies. Given that Depth: does not guarantee an atomic operation (i.e., the results may be skewed over time) the only advantage is the reduction in GET requests. Since GET has no body and can be pipelined for multiple collection members I don't think it is a huge overhead. > The second issue I have with the depth header is they way it is defined > inconsistently on each method that uses it....for example on the UPDATE > method if depth is not specified then Depth: infinity is assumed... I don't have the spec in front of me right now, but that doesn't sound good?! > on the > LABEL method if depth is not specified then Depth: 0 is assumed. It would > make server implementation cleaner if we could always assume Depth: 0 in > the absence of a Depth header. This also seems logical, if the client does > not ask for Depth then apply the operation only to the request resource. > Why not make the default behaviour of depth consistent? Rather than be consistent I think we should look at each method and decide which makes the 'best sense' for that method. Regards, Tim
Received on Friday, 7 September 2001 05:40:27 UTC