- From: Jim Whitehead <ejw@cse.ucsc.edu>
- Date: Wed, 9 May 2001 15:36:43 -0700
- To: "WebDAV WG" <w3c-dist-auth@w3.org>
Let me see if I can summarize points of agreement from the recent discussion concerning PROPFIND ALLPROP. If you disagree with this summary, please send a message to the list (a) explaining the difference, and (b) describing what *you* believe is the rough consensus. Problem Statement ----------------- PROPFIND ALLPROP Depth infinity places a significant processing load on some server implementations. Apache mod_dav provides an option limiting PROPFIND ALLPROP Depth infinity for just "core" (RFC 2518-defined) properties. The DeltaV specification introduces several new properties that (a) are expensive to compute, and (b) not capable of interpretation by non-DeltaV clients. It is generally believed that PROPFIND ALLPROP Depth 1 is less likely to incur a large processing load on the server than PROPFIND ALLPROP Depth infinity. However, it is possible to have a deep hierarchy with few resources, and a single collection with many resources, and hence there is no guarantee that PROPFIND ALLPROP Depth 1 will be less computationally expensive than PROPFIND ALLPROP Depth infinity. Thus, if the goal is: "reduce the likelihood that a client request will result in a computationally expensive server operation", then PROPFIND ALLPROP Depth infinity and Depth 1 will both need to be addressed. Both the DeltaV and the Access Control specifications limit the properties returned by PROPFIND ALLPROP (of any depth). This effectively changes the semantics of PROPFIND ALLPROP. Client implementors involved in this discussion indicate that they have dependencies on PROPFIND ALLPROP at Depth 0/1. To date, there have been no reported cases of client dependencies on PROPFIND ALLPROP Depth infinity. At present, RFC 2518 states two default behaviors for PROPFIND: (a) a request without a Depth header should be treated as if it is Depth infinity. (b) a request without a body should be treated as a PROPFIND ALLPROP To date, there have been no reported cases of clients depending on this default behavior. Solution Space -------------- I continue to believe that rough consensus exists to change the default behavior of PROPFIND away from the current specification. The default Depth value should be 0, not infinity (or an error should be reported). The default computation should be PROPNAME, not ALLPROP (or an error should be reported). I detected no consensus on how to address the PROPFIND ALLPROP Depth 1/infinity issue. Assuming this group does not come to consensus, I believe the following will happen: - The revision of 2518 will contain an implementation note concerning the effects of PROPFIND ALLPROP at Depth 1/infinity - The DeltaV and ACL specifications will contain language prohibiting the return of certain properties (i.e., properties defined in each specification) for any PROPFIND ALLPROP. - Server implementations (such as mod_dav) will continue to have configuration options limiting PROPFIND ALLPROP Depth infinity. - Jim
Received on Wednesday, 9 May 2001 18:38:36 UTC