The PROPFIND method retrieves properties defined on the resource
identified by the Request-URI, if the resource does not have any
internal members, or on the resource identified by the Request-URI
and potentially its member resources, if the resource is a collection
that has internal member URIs. All DAV compliant resources MUST
support the PROPFIND method and the propfind XML element (section
12.14) along with all XML elements defined for use with that element.
A client may submit a Depth header with a value of "0", "1", or
"infinity" with a PROPFIND on a collection resource with internal
member URIs. DAV compliant servers MUST support the "0", "1" and
"infinity" behaviors. By default, the PROPFIND method without a Depth
header MUST act as if a "Depth: infinity" header was included.
A client may submit a propfind XML element in the body of the request
method describing what information is being requested. It is
possible to request particular property values, all property values,
or a list of the names of the resource's properties. A client may
choose not to submit a request body. An empty PROPFIND request body
MUST be treated as a request for the names and values of all
properties.
All servers MUST support returning a response of content type
text/xml or application/xml that contains a multistatus XML element
that describes the results of the attempts to retrieve the various
properties.
If there is an error retrieving a property then a proper error result
MUST be included in the response. A request to retrieve the value of
a property which does not exist is an error and MUST be noted, if the
response uses a multistatus XML element, with a response XML element
which contains a 404 (Not Found) status value.
Consequently, the multistatus XML element for a collection resource
with member URIs MUST include a response XML element for each member
URI of the collection, to whatever depth was requested. Each response
XML element MUST contain an href XML element that gives the URI of
the resource on which the properties in the prop XML element are
defined. Results for a PROPFIND on a collection resource with
internal member URIs are returned as a flat list whose order of
entries is not significant.
RFC 2518 WEBDAV February 1999
In the case of allprop and propname, if a principal does not have the
right to know whether a particular property exists then the property
should be silently excluded from the response.
The results of this method SHOULD NOT be cached.
8.1.1 Example - Retrieving Named Properties
>>Request
PROPFIND /file HTTP/1.1
Host: www.foo.bar
Content-type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:">
<D:prop xmlns:R="http://www.foo.bar/boxschema/">
<R:DingALing/>
</D:propfind>
>>Response
HTTP/1.1 207 Multi-Status
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
http://www.foo.bar/file
<D:prop xmlns:R="http://www.foo.bar/boxschema/">
Box type A
J.J. Johnson
HTTP/1.1 200 OK
</D:propstat>
<R:DingALing/>
=14= |