Re: The Depth header...

Peter,
Depth operations only apply to collections in WebDAV, or things that 
(effectively) derive from collections. GET on collections is 
unfortunately, for historical and current practice reasons, not defined by 
WebDAV on collections. Your server could choose to implement GET on a 
collection to do whatever it wanted, but this would likely create an 
interoperability problem. 

GET returning multiple resource would also require some sort of multi-part 
MIME protocol which is not currently defined for WebDAV. This would be 
required to separate the documents.

The default value for the Depth header is based on the default desirable 
behavior, not consistency of value. I think clients should expect 
operations that take a Depth header to do something sensible when the 
header is not included. Due to the various semantics involved, this will 
not likely result in the same default value in all situations.





Peter Raymond <Peter.Raymond@merant.com>
Sent by: ietf-dav-versioning-request@w3.org
09/07/2001 05:00 AM

 
        To:     ietf-dav-versioning@w3.org
        cc: 
        Subject:        The Depth header...

 

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. 
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...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? 
Regards, 
-- 
Peter Raymond - MERANT 
Technical Architect (PVCS) 
Tel: +44 (0)1727 813362 
Fax: +44 (0)1727 869804 
mailto:Peter.Raymond@merant.com 
WWW: http://www.merant.com 

Received on Friday, 7 September 2001 07:35:06 UTC