mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-11-30 01:53:26 +00:00
676 lines
19 KiB
Text
676 lines
19 KiB
Text
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Network Working Group C. Daboo
|
|||
|
Request for Comments: 5689 Apple Inc.
|
|||
|
Updates: 4791, 4918 September 2009
|
|||
|
Category: Standards Track
|
|||
|
|
|||
|
|
|||
|
Extended MKCOL for Web Distributed Authoring and Versioning (WebDAV)
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
This specification extends the Web Distributed Authoring and
|
|||
|
Versioning (WebDAV) MKCOL (Make Collection) method to allow
|
|||
|
collections of arbitrary resourcetype to be created and to allow
|
|||
|
properties to be set at the same time.
|
|||
|
|
|||
|
Status of This Memo
|
|||
|
|
|||
|
This document specifies an Internet standards track protocol for the
|
|||
|
Internet community, and requests discussion and suggestions for
|
|||
|
improvements. Please refer to the current edition of the "Internet
|
|||
|
Official Protocol Standards" (STD 1) for the standardization state
|
|||
|
and status of this protocol. Distribution of this memo is unlimited.
|
|||
|
|
|||
|
Copyright Notice
|
|||
|
|
|||
|
Copyright (c) 2009 IETF Trust and the persons identified as the
|
|||
|
document authors. All rights reserved.
|
|||
|
|
|||
|
This document is subject to BCP 78 and the IETF Trust's Legal
|
|||
|
Provisions Relating to IETF Documents
|
|||
|
(http://trustee.ietf.org/license-info) in effect on the date of
|
|||
|
publication of this document. Please review these documents
|
|||
|
carefully, as they describe your rights and restrictions with respect
|
|||
|
to this document. Code Components extracted from this document must
|
|||
|
include Simplified BSD License text as described in Section 4.e of
|
|||
|
the Trust Legal Provisions and are provided without warranty as
|
|||
|
described in the BSD License.
|
|||
|
|
|||
|
This document may contain material from IETF Documents or IETF
|
|||
|
Contributions published or made publicly available before November
|
|||
|
10, 2008. The person(s) controlling the copyright in some of this
|
|||
|
material may not have granted the IETF Trust the right to allow
|
|||
|
modifications of such material outside the IETF Standards Process.
|
|||
|
Without obtaining an adequate license from the person(s) controlling
|
|||
|
the copyright in such materials, this document may not be modified
|
|||
|
outside the IETF Standards Process, and derivative works of it may
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 1]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
not be created outside the IETF Standards Process, except to format
|
|||
|
it for publication as an RFC or to translate it into languages other
|
|||
|
than English.
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
|||
|
2. Conventions Used in This Document . . . . . . . . . . . . . . 3
|
|||
|
3. WebDAV Extended MKCOL . . . . . . . . . . . . . . . . . . . . 4
|
|||
|
3.1. Extended MKCOL Support . . . . . . . . . . . . . . . . . . 5
|
|||
|
3.1.1. Example: Using OPTIONS for the Discovery of
|
|||
|
Support for Extended MKCOL . . . . . . . . . . . . . . 5
|
|||
|
3.2. Status Codes . . . . . . . . . . . . . . . . . . . . . . . 5
|
|||
|
3.3. Additional Precondition for Extended MKCOL . . . . . . . . 5
|
|||
|
3.4. Example: Successful Extended MKCOL Request . . . . . . . . 6
|
|||
|
3.5. Example: Unsuccessful Extended MKCOL Request . . . . . . . 6
|
|||
|
4. Using Extended MKCOL as an Alternative for MKxxx Methods . . . 8
|
|||
|
4.1. MKCALENDAR Alternative . . . . . . . . . . . . . . . . . . 8
|
|||
|
4.1.1. Example: Using MKCOL Instead of MKCALENDAR . . . . . . 8
|
|||
|
5. XML Element Definitions . . . . . . . . . . . . . . . . . . . 10
|
|||
|
5.1. mkcol XML Element . . . . . . . . . . . . . . . . . . . . 10
|
|||
|
5.2. mkcol-response XML Element . . . . . . . . . . . . . . . . 10
|
|||
|
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
|
|||
|
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11
|
|||
|
8. Normative References . . . . . . . . . . . . . . . . . . . . . 11
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 2]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
WebDAV [RFC4918] defines the HTTP [RFC2616] method MKCOL. This
|
|||
|
method is used to create WebDAV collections on the server. However,
|
|||
|
several WebDAV-based specifications (e.g., CalDAV [RFC4791]) define
|
|||
|
"special" collections -- ones that are identified by additional
|
|||
|
values in the DAV:resourcetype property assigned to the collection
|
|||
|
resource or by other means. These "special" collections are created
|
|||
|
by new methods (e.g., MKCALENDAR). The addition of a new MKxxx
|
|||
|
method for each new "special" collection adds to server complexity
|
|||
|
and is detrimental to overall reliability due to the need to make
|
|||
|
sure intermediaries are aware of these methods.
|
|||
|
|
|||
|
This specification defines an extension to the WebDAV MKCOL method
|
|||
|
that adds a request body allowing a client to specify WebDAV
|
|||
|
properties to be set on the newly created collection or resource. In
|
|||
|
particular, the DAV:resourcetype property can be used to create a
|
|||
|
"special" collection; alternatively, other properties can be used to
|
|||
|
create a "special" resource. This avoids the need to invent new
|
|||
|
MKxxx methods.
|
|||
|
|
|||
|
2. Conventions Used in This Document
|
|||
|
|
|||
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
|||
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
|||
|
document are to be interpreted as described in [RFC2119].
|
|||
|
|
|||
|
This document uses XML DTD fragments (Section 3.2 of
|
|||
|
[W3C.REC-xml-20081126]) as a purely notational convention. WebDAV
|
|||
|
request and response bodies cannot be validated by a DTD due to the
|
|||
|
specific extensibility rules defined in Section 17 of [RFC4918] and
|
|||
|
due to the fact that all XML elements defined by this specification
|
|||
|
use the XML namespace name "DAV:". In particular:
|
|||
|
|
|||
|
1. Element names use the "DAV:" namespace.
|
|||
|
|
|||
|
2. Element ordering is irrelevant unless explicitly stated.
|
|||
|
|
|||
|
3. Extension elements (elements not already defined as valid child
|
|||
|
elements) may be added anywhere, except when explicitly stated
|
|||
|
otherwise.
|
|||
|
|
|||
|
4. Extension attributes (attributes not already defined as valid for
|
|||
|
this element) may be added anywhere, except when explicitly
|
|||
|
stated otherwise.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 3]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
When an XML element type in the "DAV:" namespace is referenced in
|
|||
|
this document outside of the context of an XML fragment, the string
|
|||
|
"DAV:" will be prefixed to the element type.
|
|||
|
|
|||
|
This document inherits, and sometimes extends, DTD productions from
|
|||
|
Section 14 of [RFC4918].
|
|||
|
|
|||
|
3. WebDAV Extended MKCOL
|
|||
|
|
|||
|
The WebDAV MKCOL request is extended to allow the inclusion of a
|
|||
|
request body. The request body is an XML document containing a
|
|||
|
single DAV:mkcol XML element as the root element. The Content-Type
|
|||
|
request header MUST be set appropriately for an XML body (e.g., set
|
|||
|
to "text/xml" or "application/xml"). XML-typed bodies for an MKCOL
|
|||
|
request that do not have DAV:mkcol as the root element are reserved
|
|||
|
for future usage.
|
|||
|
|
|||
|
One or more DAV:set XML elements may be included in the DAV:mkcol XML
|
|||
|
element to allow setting properties on the collection as it is
|
|||
|
created. In particular, to create a collection of a particular type,
|
|||
|
the DAV:resourcetype XML element MUST be included in a DAV:set XML
|
|||
|
element and MUST specify the expected resource type elements for the
|
|||
|
new resource, which MUST include the DAV:collection element that
|
|||
|
needs to be present for any WebDAV collection.
|
|||
|
|
|||
|
As per the PROPPATCH method (Section 9.2 of [RFC4918]), servers MUST
|
|||
|
process any DAV:set instructions in document order (an exception to
|
|||
|
the normal rule that ordering is irrelevant). If any one instruction
|
|||
|
fails to execute successfully, all instructions MUST fail (i.e.,
|
|||
|
either all succeed or all fail). Thus, if any error occurs during
|
|||
|
processing, all executed instructions MUST be undone and a proper
|
|||
|
error result returned. Failure to set a property value on the
|
|||
|
collection MUST result in a failure of the overall MKCOL request --
|
|||
|
i.e., the collection is not created.
|
|||
|
|
|||
|
The response to an extended MKCOL request MUST be an XML document
|
|||
|
containing a single DAV:mkcol-response XML element, which MUST
|
|||
|
contain DAV:propstat XML elements with the status of each property
|
|||
|
when the request fails due to a failure to set one or more of the
|
|||
|
properties specified in the request body. The server MAY return a
|
|||
|
response body in the case where the request is successful, indicating
|
|||
|
success for setting each property specified in the request body.
|
|||
|
When an empty response body is returned with a success request status
|
|||
|
code, the client can assume that all properties were set.
|
|||
|
|
|||
|
In all other respects, the behavior of the extended MKCOL request
|
|||
|
follows that of the standard MKCOL request.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 4]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
3.1. Extended MKCOL Support
|
|||
|
|
|||
|
A server supporting the features described in this document MUST
|
|||
|
include "extended-mkcol" as a field in the DAV response header from
|
|||
|
an OPTIONS request on any URI that supports use of the extended MKCOL
|
|||
|
method.
|
|||
|
|
|||
|
3.1.1. Example: Using OPTIONS for the Discovery of Support for Extended
|
|||
|
MKCOL
|
|||
|
|
|||
|
>> Request <<
|
|||
|
|
|||
|
OPTIONS /addressbooks/users/ HTTP/1.1
|
|||
|
Host: addressbook.example.com
|
|||
|
|
|||
|
>> Response <<
|
|||
|
|
|||
|
HTTP/1.1 200 OK
|
|||
|
Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, COPY, MOVE
|
|||
|
Allow: MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, REPORT, ACL
|
|||
|
DAV: 1, 2, 3, access-control, extended-mkcol
|
|||
|
Date: Sat, 11 Nov 2006 09:32:12 GMT
|
|||
|
Content-Length: 0
|
|||
|
|
|||
|
3.2. Status Codes
|
|||
|
|
|||
|
As per Section 9.3.1 of [RFC4918].
|
|||
|
|
|||
|
3.3. Additional Precondition for Extended MKCOL
|
|||
|
|
|||
|
WebDAV ([RFC4918], Section 16) defines preconditions and
|
|||
|
postconditions for request behavior. This specification adds the
|
|||
|
following precondition for the extended MKCOL request.
|
|||
|
|
|||
|
Name: valid-resourcetype
|
|||
|
|
|||
|
Namespace: DAV:
|
|||
|
|
|||
|
Use with: Typically 403 (Forbidden)
|
|||
|
|
|||
|
Purpose: (precondition) -- The server MUST support the specified
|
|||
|
resourcetype value for the specified collection.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 5]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
3.4. Example: Successful Extended MKCOL Request
|
|||
|
|
|||
|
This example shows how the extended MKCOL request is used to create a
|
|||
|
collection of a fictitious type "special-resource". The response
|
|||
|
body is empty as the request completed successfully.
|
|||
|
|
|||
|
>> Request <<
|
|||
|
|
|||
|
MKCOL /home/special/ HTTP/1.1
|
|||
|
Host: special.example.com
|
|||
|
Content-Type: application/xml; charset="utf-8"
|
|||
|
Content-Length: xxxx
|
|||
|
|
|||
|
<?xml version="1.0" encoding="utf-8" ?>
|
|||
|
<D:mkcol xmlns:D="DAV:"
|
|||
|
xmlns:E="http://example.com/ns/">
|
|||
|
<D:set>
|
|||
|
<D:prop>
|
|||
|
<D:resourcetype>
|
|||
|
<D:collection/>
|
|||
|
<E:special-resource/>
|
|||
|
</D:resourcetype>
|
|||
|
<D:displayname>Special Resource</D:displayname>
|
|||
|
</D:prop>
|
|||
|
</D:set>
|
|||
|
</D:mkcol>
|
|||
|
|
|||
|
>> Response <<
|
|||
|
|
|||
|
HTTP/1.1 201 Created
|
|||
|
Cache-Control: no-cache
|
|||
|
Date: Sat, 11 Nov 2006 09:32:12 GMT
|
|||
|
|
|||
|
3.5. Example: Unsuccessful Extended MKCOL Request
|
|||
|
|
|||
|
This example shows an attempt to use the extended MKCOL request to
|
|||
|
create a collection of a fictitious type "special-resource", which is
|
|||
|
not actually supported by the server. The response body shows that
|
|||
|
an error occurred specifically with the DAV:resourcetype property.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 6]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
>> Request <<
|
|||
|
|
|||
|
MKCOL /home/special/ HTTP/1.1
|
|||
|
Host: special.example.com
|
|||
|
Content-Type: application/xml; charset="utf-8"
|
|||
|
Content-Length: xxxx
|
|||
|
|
|||
|
<?xml version="1.0" encoding="utf-8" ?>
|
|||
|
<D:mkcol xmlns:D="DAV:"
|
|||
|
xmlns:E="http://example.com/ns/">
|
|||
|
<D:set>
|
|||
|
<D:prop>
|
|||
|
<D:resourcetype>
|
|||
|
<D:collection/>
|
|||
|
<E:special-resource/>
|
|||
|
</D:resourcetype>
|
|||
|
<D:displayname>Special Resource</D:displayname>
|
|||
|
</D:prop>
|
|||
|
</D:set>
|
|||
|
</D:mkcol>
|
|||
|
|
|||
|
>> Response <<
|
|||
|
|
|||
|
HTTP/1.1 403 Forbidden
|
|||
|
Cache-Control: no-cache
|
|||
|
Date: Sat, 11 Nov 2006 09:32:12 GMT
|
|||
|
Content-Type: application/xml; charset="utf-8"
|
|||
|
Content-Length: xxxx
|
|||
|
|
|||
|
<?xml version="1.0" encoding="utf-8" ?>
|
|||
|
<D:mkcol-response xmlns:D="DAV:">
|
|||
|
<D:propstat>
|
|||
|
<D:prop>
|
|||
|
<D:resourcetype/>
|
|||
|
</D:prop>
|
|||
|
<D:status>HTTP/1.1 403 Forbidden</D:status>
|
|||
|
<D:error><D:valid-resourcetype /></D:error>
|
|||
|
<D:responsedescription>Resource type is not
|
|||
|
supported by this server</D:responsedescription>
|
|||
|
</D:propstat>
|
|||
|
<D:propstat>
|
|||
|
<D:prop>
|
|||
|
<D:displayname/>
|
|||
|
</D:prop>
|
|||
|
<D:status>HTTP/1.1 424 Failed Dependency</D:status>
|
|||
|
</D:propstat>
|
|||
|
</D:mkcol-response>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 7]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
4. Using Extended MKCOL as an Alternative for MKxxx Methods
|
|||
|
|
|||
|
One of the goals of this extension is to eliminate the need for other
|
|||
|
extensions to define their own variant of MKCOL to create the special
|
|||
|
collections they need. This extension can be used as an alternative
|
|||
|
to existing MKxxx methods in other extensions as detailed below. If
|
|||
|
a server supports this extension and the other extension listed, then
|
|||
|
the server MUST support use of the extended MKCOL method to achieve
|
|||
|
the same result as the MKxxx method of the other extension.
|
|||
|
|
|||
|
4.1. MKCALENDAR Alternative
|
|||
|
|
|||
|
CalDAV defines the MKCALENDAR method to create a calendar collection
|
|||
|
as well as to set properties during creation (Section 5.3.1 of
|
|||
|
[RFC4791]).
|
|||
|
|
|||
|
The extended MKCOL method can be used instead by specifying both DAV:
|
|||
|
collection and CALDAV:calendar-collection XML elements in the DAV:
|
|||
|
resourcetype property, set during the extended MKCOL request.
|
|||
|
|
|||
|
4.1.1. Example: Using MKCOL Instead of MKCALENDAR
|
|||
|
|
|||
|
The first example below shows an MKCALENDAR request containing a
|
|||
|
CALDAV:mkcalendar XML element in the request body and returning a
|
|||
|
CALDAV:mkcalendar-response XML element in the response body.
|
|||
|
|
|||
|
>> MKCALENDAR Request <<
|
|||
|
|
|||
|
MKCALENDAR /home/lisa/calendars/events/ HTTP/1.1
|
|||
|
Host: calendar.example.com
|
|||
|
Content-Type: application/xml; charset="utf-8"
|
|||
|
Content-Length: xxxx
|
|||
|
|
|||
|
<?xml version="1.0" encoding="utf-8" ?>
|
|||
|
<C:mkcalendar xmlns:D="DAV:"
|
|||
|
xmlns:C="urn:ietf:params:xml:ns:caldav">
|
|||
|
<D:set>
|
|||
|
<D:prop>
|
|||
|
<D:displayname>Lisa's Events</D:displayname>
|
|||
|
</D:prop>
|
|||
|
</D:set>
|
|||
|
</C:mkcalendar>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 8]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
>> MKCALENDAR Response <<
|
|||
|
|
|||
|
HTTP/1.1 201 Created
|
|||
|
Cache-Control: no-cache
|
|||
|
Date: Sat, 11 Nov 2006 09:32:12 GMT
|
|||
|
Content-Type: application/xml; charset="utf-8"
|
|||
|
Content-Length: xxxx
|
|||
|
|
|||
|
<?xml version="1.0" encoding="utf-8" ?>
|
|||
|
<C:mkcalendar-response xmlns:D="DAV:"
|
|||
|
xmlns:C="urn:ietf:params:xml:ns:caldav">
|
|||
|
<D:propstat>
|
|||
|
<D:prop>
|
|||
|
<D:displayname/>
|
|||
|
</D:prop>
|
|||
|
<D:status>HTTP/1.1 200 OK</D:status>
|
|||
|
</D:propstat>
|
|||
|
</C:mkcalendar-response>
|
|||
|
|
|||
|
The second example shows the equivalent extended MKCOL request with
|
|||
|
the same request and response XML elements.
|
|||
|
|
|||
|
>> MKCOL Request <<
|
|||
|
|
|||
|
MKCOL /home/lisa/calendars/events/ HTTP/1.1
|
|||
|
Host: calendar.example.com
|
|||
|
Content-Type: application/xml; charset="utf-8"
|
|||
|
Content-Length: xxxx
|
|||
|
|
|||
|
<?xml version="1.0" encoding="utf-8" ?>
|
|||
|
<D:mkcol xmlns:D="DAV:"
|
|||
|
xmlns:C="urn:ietf:params:xml:ns:caldav">
|
|||
|
<D:set>
|
|||
|
<D:prop>
|
|||
|
<D:resourcetype>
|
|||
|
<D:collection/>
|
|||
|
<C:calendar/>
|
|||
|
</D:resourcetype>
|
|||
|
<D:displayname>Lisa's Events</D:displayname>
|
|||
|
</D:prop>
|
|||
|
</D:set>
|
|||
|
</D:mkcol>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 9]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
>> MKCOL Response <<
|
|||
|
|
|||
|
HTTP/1.1 201 Created
|
|||
|
Cache-Control: no-cache
|
|||
|
Date: Sat, 11 Nov 2006 09:32:12 GMT
|
|||
|
Content-Type: application/xml; charset="utf-8"
|
|||
|
Content-Length: xxxx
|
|||
|
|
|||
|
<?xml version="1.0" encoding="utf-8" ?>
|
|||
|
<D:mkcol-response xmlns:D="DAV:"
|
|||
|
xmlns:C="urn:ietf:params:xml:ns:caldav">
|
|||
|
<D:propstat>
|
|||
|
<D:prop>
|
|||
|
<D:resourcetype/>
|
|||
|
<D:displayname/>
|
|||
|
</D:prop>
|
|||
|
<D:status>HTTP/1.1 200 OK</D:status>
|
|||
|
</D:propstat>
|
|||
|
</D:mkcol-response>
|
|||
|
|
|||
|
5. XML Element Definitions
|
|||
|
|
|||
|
5.1. mkcol XML Element
|
|||
|
|
|||
|
Name: mkcol
|
|||
|
|
|||
|
Namespace: DAV:
|
|||
|
|
|||
|
Purpose: Used in a request to specify properties to be set in an
|
|||
|
extended MKCOL request, as well as any additional information
|
|||
|
needed when creating the resource.
|
|||
|
|
|||
|
Description: This XML element is a container for the information
|
|||
|
required to modify the properties on a collection resource as it
|
|||
|
is created in an extended MKCOL request.
|
|||
|
|
|||
|
Definition:
|
|||
|
|
|||
|
<!ELEMENT mkcol (set+)>
|
|||
|
|
|||
|
5.2. mkcol-response XML Element
|
|||
|
|
|||
|
Name: mkcol-response
|
|||
|
|
|||
|
Namespace: DAV:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 10]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
Purpose: Used in a response to indicate the status of properties
|
|||
|
that were set or failed to be set during an extended MKCOL
|
|||
|
request.
|
|||
|
|
|||
|
Description: This XML element is a container for the information
|
|||
|
returned about a resource that has been created in an extended
|
|||
|
MKCOL request.
|
|||
|
|
|||
|
Definition:
|
|||
|
|
|||
|
<!ELEMENT mkcol-response (propstat+)>
|
|||
|
|
|||
|
6. Security Considerations
|
|||
|
|
|||
|
This extension does not introduce any new security concerns beyond
|
|||
|
those already described in HTTP [RFC2616] and WebDAV [RFC4918].
|
|||
|
|
|||
|
7. Acknowledgments
|
|||
|
|
|||
|
Thanks to Bernard Desruisseaux, Mike Douglass, Alexey Melnikov,
|
|||
|
Julian Reschke, and Simon Vaillancourt.
|
|||
|
|
|||
|
|
|||
|
8. Normative References
|
|||
|
|
|||
|
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
|||
|
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
|||
|
|
|||
|
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
|
|||
|
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
|
|||
|
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
|
|||
|
|
|||
|
[RFC4791] Daboo, C., Desruisseaux, B., and L. Dusseault,
|
|||
|
"Calendaring Extensions to WebDAV (CalDAV)", RFC 4791,
|
|||
|
March 2007.
|
|||
|
|
|||
|
[RFC4918] Dusseault, L., "HTTP Extensions for Web Distributed
|
|||
|
Authoring and Versioning (WebDAV)", RFC 4918, June 2007.
|
|||
|
|
|||
|
[W3C.REC-xml-20081126]
|
|||
|
Maler, E., Yergeau, F., Paoli, J., Bray, T., and C.
|
|||
|
Sperberg-McQueen, "Extensible Markup Language (XML) 1.0
|
|||
|
(Fifth Edition)", World Wide Web Consortium
|
|||
|
Recommendation REC-xml-20081126, November 2008,
|
|||
|
<http://www.w3.org/TR/2008/REC-xml-20081126>.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 11]
|
|||
|
|
|||
|
RFC 5689 Extended MKCOL for WebDAV September 2009
|
|||
|
|
|||
|
|
|||
|
Author's Address
|
|||
|
|
|||
|
Cyrus Daboo
|
|||
|
Apple Inc.
|
|||
|
1 Infinite Loop
|
|||
|
Cupertino, CA 95014
|
|||
|
USA
|
|||
|
|
|||
|
EMail: cyrus@daboo.name
|
|||
|
URI: http://www.apple.com/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Daboo Standards Track [Page 12]
|
|||
|
|