draft-ietf-webdav-bind-06.txt   draft-ietf-webdav-bind-07.txt 
Network Working Group G. Clemm Network Working Group G. Clemm
Internet-Draft IBM Internet-Draft IBM
Updates: 2518 (if approved) J. Crawford Updates: 2518 (if approved) J. Crawford
Expires: December 31, 2004 IBM Research Expires: March 29, 2005 IBM Research
J. Reschke J. Reschke
greenbytes greenbytes
J. Whitehead J. Whitehead
U.C. Santa Cruz U.C. Santa Cruz
July 2, 2004 September 28, 2004
Binding Extensions to Web Distributed Authoring and Versioning Binding Extensions to Web Distributed Authoring and Versioning
(WebDAV) (WebDAV)
draft-ietf-webdav-bind-latest-06 draft-ietf-webdav-bind-07
Status of this Memo Status of this Memo
By submitting this Internet-Draft, I certify that any applicable This document is an Internet-Draft and is subject to all provisions
patent or other IPR claims of which I am aware have been disclosed, of section 3 of RFC 3667. By submitting this Internet-Draft, each
and any of which I become aware will be disclosed, in accordance with author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668. RFC 3668.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 31, 2004. This Internet-Draft will expire on March 29, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004).
Abstract Abstract
This specification defines bindings, and the BIND method for creating This specification defines bindings, and the BIND method for creating
multiple bindings to the same resource. Creating a new binding to a multiple bindings to the same resource. Creating a new binding to a
resource causes at least one new URI to be mapped to that resource. resource causes at least one new URI to be mapped to that resource.
Servers are required to insure the integrity of any bindings that Servers are required to insure the integrity of any bindings that
they allow to be created. they allow to be created.
Editorial Note Editorial Note (To be removed by RFC Editor before publication)
*(To be removed before publication as RFC):*
Please send comments to the Distributed Authoring and Versioning Please send comments to the Distributed Authoring and Versioning
(WebDAV) working group at w3c-dist-auth@w3.org [1], which may be (WebDAV) working group at <mailto:w3c-dist-auth@w3.org>, which may be
joined by sending a message with subject "subscribe" to joined by sending a message with subject "subscribe" to
w3c-dist-auth-request@w3.org [2]. Discussions of the WEBDAV working <mailto:w3c-dist-auth-request@w3.org>. Discussions of the WEBDAV
group are archived at . working group are archived at
<http://lists.w3.org/Archives/Public/w3c-dist-auth/>.
lists all registered issues since draft 02. <http://www.webdav.org/bind/draft-ietf-webdav-bind-issues.html> lists
all registered issues since draft 02.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Rationale for Distinguishing Bindings from URI Mappings . 6 1.2 Rationale for Distinguishing Bindings from URI Mappings . 7
1.3 Method Preconditions and Postconditions . . . . . . . . . 7 1.3 Method Preconditions and Postconditions . . . . . . . . . 8
2. Overview of Bindings . . . . . . . . . . . . . . . . . . . . . 7 2. Overview of Bindings . . . . . . . . . . . . . . . . . . . . . 8
2.1 Bindings to Collections . . . . . . . . . . . . . . . . . 8 2.1 Bindings to Collections . . . . . . . . . . . . . . . . . 9
2.2 URI Mappings Created by a new Binding . . . . . . . . . . 9 2.2 URI Mappings Created by a new Binding . . . . . . . . . . 10
2.3 COPY and Bindings . . . . . . . . . . . . . . . . . . . . 10 2.3 COPY and Bindings . . . . . . . . . . . . . . . . . . . . 11
2.4 DELETE and Bindings . . . . . . . . . . . . . . . . . . . 11 2.4 DELETE and Bindings . . . . . . . . . . . . . . . . . . . 12
2.5 MOVE and Bindings . . . . . . . . . . . . . . . . . . . . 12 2.5 MOVE and Bindings . . . . . . . . . . . . . . . . . . . . 13
2.6 Determining Whether Two Bindings Are to the Same 2.6 Determining Whether Two Bindings Are to the Same
Resource . . . . . . . . . . . . . . . . . . . . . . . . . 13 Resource . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Discovering the Bindings to a Resource . . . . . . . . . . 13 2.7 Discovering the Bindings to a Resource . . . . . . . . . . 14
3. Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3. Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 DAV:resource-id Property . . . . . . . . . . . . . . . . . 14 3.1 DAV:resource-id Property . . . . . . . . . . . . . . . . . 15
3.2 DAV:parent-set Property . . . . . . . . . . . . . . . . . 14 3.2 DAV:parent-set Property . . . . . . . . . . . . . . . . . 15
4. BIND Method . . . . . . . . . . . . . . . . . . . . . . . . . 15 4. BIND Method . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 Example: BIND . . . . . . . . . . . . . . . . . . . . . . 17 4.1 Example: BIND . . . . . . . . . . . . . . . . . . . . . . 18
5. UNBIND Method . . . . . . . . . . . . . . . . . . . . . . . . 17 5. UNBIND Method . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1 Example: UNBIND . . . . . . . . . . . . . . . . . . . . . 19 5.1 Example: UNBIND . . . . . . . . . . . . . . . . . . . . . 20
6. REBIND Method . . . . . . . . . . . . . . . . . . . . . . . . 19 6. REBIND Method . . . . . . . . . . . . . . . . . . . . . . . . 20
6.1 Example: REBIND . . . . . . . . . . . . . . . . . . . . . 21 6.1 Example: REBIND . . . . . . . . . . . . . . . . . . . . . 22
7. Additional Status Codes . . . . . . . . . . . . . . . . . . . 21 7. Additional Status Codes . . . . . . . . . . . . . . . . . . . 23
7.1 208 Already Reported . . . . . . . . . . . . . . . . . . . 21 7.1 208 Already Reported . . . . . . . . . . . . . . . . . . . 23
7.1.1 Example: PROPFIND by bind-aware client . . . . . . . . 22 7.1.1 Example: PROPFIND by bind-aware client . . . . . . . . 23
7.1.2 Example: PROPFIND by non-bind-aware client . . . . . . 24 7.1.2 Example: PROPFIND by non-bind-aware client . . . . . . 25
7.2 506 Loop Detected . . . . . . . . . . . . . . . . . . . . 24 7.2 506 Loop Detected . . . . . . . . . . . . . . . . . . . . 25
8. Capability discovery . . . . . . . . . . . . . . . . . . . . . 24 8. Capability discovery . . . . . . . . . . . . . . . . . . . . . 26
8.1 OPTIONS method . . . . . . . . . . . . . . . . . . . . . . 24 8.1 OPTIONS method . . . . . . . . . . . . . . . . . . . . . . 26
8.2 'DAV' request header . . . . . . . . . . . . . . . . . . . 24 8.2 'DAV' request header . . . . . . . . . . . . . . . . . . . 26
8.2.1 Generic syntax . . . . . . . . . . . . . . . . . . . . 24 8.2.1 Generic syntax . . . . . . . . . . . . . . . . . . . . 26
8.2.2 Client compliance class 'bind' . . . . . . . . . . . . 25 8.2.2 Client compliance class 'bind' . . . . . . . . . . . . 26
9. Security Considerations . . . . . . . . . . . . . . . . . . . 25 9. Security Considerations . . . . . . . . . . . . . . . . . . . 26
9.1 Privacy Concerns . . . . . . . . . . . . . . . . . . . . . 25 9.1 Privacy Concerns . . . . . . . . . . . . . . . . . . . . . 27
9.2 Bind Loops . . . . . . . . . . . . . . . . . . . . . . . . 25 9.2 Bind Loops . . . . . . . . . . . . . . . . . . . . . . . . 27
9.3 Bindings, and Denial of Service . . . . . . . . . . . . . 26 9.3 Bindings, and Denial of Service . . . . . . . . . . . . . 27
9.4 Private Locations May Be Revealed . . . . . . . . . . . . 26 9.4 Private Locations May Be Revealed . . . . . . . . . . . . 27
9.5 DAV:parent-set and Denial of Service . . . . . . . . . . . 26 9.5 DAV:parent-set and Denial of Service . . . . . . . . . . . 27
10. Internationalization Considerations . . . . . . . . . . . . 26 10. Internationalization Considerations . . . . . . . . . . . . 27
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . 26 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . 28
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 26 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28
13. Normative References . . . . . . . . . . . . . . . . . . . . 27 13. Normative References . . . . . . . . . . . . . . . . . . . . 28
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 29
A. Change Log (to be removed by RFC Editor before publication) . 28 A. Change Log (to be removed by RFC Editor before publication) . 29
A.1 Since draft-ietf-webdav-bind-02 . . . . . . . . . . . . . 28 A.1 Since draft-ietf-webdav-bind-02 . . . . . . . . . . . . . 29
A.2 Since draft-ietf-webdav-bind-03 . . . . . . . . . . . . . 28 A.2 Since draft-ietf-webdav-bind-03 . . . . . . . . . . . . . 30
A.3 Since draft-ietf-webdav-bind-04 . . . . . . . . . . . . . 28 A.3 Since draft-ietf-webdav-bind-04 . . . . . . . . . . . . . 30
A.4 Since draft-ietf-webdav-bind-05 . . . . . . . . . . . . . 28 A.4 Since draft-ietf-webdav-bind-05 . . . . . . . . . . . . . 30
A.5 Since draft-ietf-webdav-bind-06 . . . . . . . . . . . . . 30
B. Resolved issues (to be removed by RFC Editor before B. Resolved issues (to be removed by RFC Editor before
publication) . . . . . . . . . . . . . . . . . . . . . . . . . 29
B.1 4_LOCK_BEHAVIOR . . . . . . . . . . . . . . . . . . . . . 29
B.2 1.3_error_negotiation . . . . . . . . . . . . . . . . . . 29
B.3 2.5_language . . . . . . . . . . . . . . . . . . . . . . . 30
B.4 7.1.1_add_resource_id . . . . . . . . . . . . . . . . . . 30
C. Open issues (to be removed by RFC Editor prior to
publication) . . . . . . . . . . . . . . . . . . . . . . . . . 30 publication) . . . . . . . . . . . . . . . . . . . . . . . . . 30
C.1 edit . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 B.1 ED_rfc2026_ref . . . . . . . . . . . . . . . . . . . . . . 30
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 B.2 specify_safeness_and_idempotence . . . . . . . . . . . . . 30
Intellectual Property and Copyright Statements . . . . . . . . 33 B.3 2.6_identical . . . . . . . . . . . . . . . . . . . . . . 31
C. Open issues (to be removed by RFC Editor prior to
publication) . . . . . . . . . . . . . . . . . . . . . . . . . 31
C.1 edit . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Intellectual Property and Copyright Statements . . . . . . . . 34
1. Introduction 1. Introduction
This specification extends the WebDAV Distributed Authoring Protocol This specification extends the WebDAV Distributed Authoring Protocol
to enable clients to create new access paths to existing resources. to enable clients to create new access paths to existing resources.
This capability is useful for several reasons: This capability is useful for several reasons:
URIs of WebDAV-compliant resources are hierarchical and correspond to URIs of WebDAV-compliant resources are hierarchical and correspond to
a hierarchy of collections in resource space. The WebDAV Distributed a hierarchy of collections in resource space. The WebDAV Distributed
Authoring Protocol makes it possible to organize these resources into Authoring Protocol makes it possible to organize these resources into
skipping to change at page 13, line 24 skipping to change at page 14, line 24
2.6 Determining Whether Two Bindings Are to the Same Resource 2.6 Determining Whether Two Bindings Are to the Same Resource
It is useful to have some way of determining whether two bindings are It is useful to have some way of determining whether two bindings are
to the same resource. Two resources might have identical contents to the same resource. Two resources might have identical contents
and properties, but not be the same resource (e.g. an update to one and properties, but not be the same resource (e.g. an update to one
resource does not affect the other resource). resource does not affect the other resource).
The REQUIRED DAV:resource-id property defined in Section 3.1 is a The REQUIRED DAV:resource-id property defined in Section 3.1 is a
resource identifier, which MUST be unique across all resources for resource identifier, which MUST be unique across all resources for
all time. If the values of DAV:resource-id returned by PROPFIND all time. If the values of DAV:resource-id returned by PROPFIND
requests through two bindings are identical, the client can be requests through two bindings are identical character by character,
assured that the two bindings are to the same resource. the client can be assured that the two bindings are to the same
resource.
The DAV:resource-id property is created, and its value assigned, when The DAV:resource-id property is created, and its value assigned, when
the resource is created. The value of DAV:resource-id MUST NOT be the resource is created. The value of DAV:resource-id MUST NOT be
changed. Even after the resource is no longer accessible through any changed. Even after the resource is no longer accessible through any
URI, that value MUST NOT be reassigned to another resource's URI, that value MUST NOT be reassigned to another resource's
DAV:resource-id property. DAV:resource-id property.
Any method that creates a new resource MUST assign a new, unique Any method that creates a new resource MUST assign a new, unique
value to its DAV:resource-id property. For example, a PUT or a COPY value to its DAV:resource-id property. For example, a PUT or a COPY
that creates a new resource must assign a new, unique value to the that creates a new resource must assign a new, unique value to the
skipping to change at page 15, line 37 skipping to change at page 16, line 37
to the resource and destroy the resource while A's binding still to the resource and destroy the resource while A's binding still
exists. The precondition DAV:cross-server-binding is defined below exists. The precondition DAV:cross-server-binding is defined below
for cases where servers fail cross-server BIND requests because they for cases where servers fail cross-server BIND requests because they
cannot guarantee the integrity of cross-server bindings. cannot guarantee the integrity of cross-server bindings.
By default, if there already is a binding for the specified segment By default, if there already is a binding for the specified segment
in the collection, the new binding replaces the existing binding. in the collection, the new binding replaces the existing binding.
This default binding replacement behavior can be overridden using the This default binding replacement behavior can be overridden using the
Overwrite header defined in Section 9.6 of [RFC2518]. Overwrite header defined in Section 9.6 of [RFC2518].
This method is unsafe and idempotent (see [RFC2616], section 9.1).
Marshalling: Marshalling:
The request MAY include an Overwrite header. The request MAY include an Overwrite header.
The request body MUST be a DAV:bind XML element. The request body MUST be a DAV:bind XML element.
<!ELEMENT bind (segment, href)> <!ELEMENT bind (segment, href)>
If the request succeeds, the server MUST return 201 (Created) when If the request succeeds, the server MUST return 201 (Created) when
a new binding was created and 200 (OK) when an existing binding a new binding was created and 200 (OK) when an existing binding
skipping to change at page 17, line 44 skipping to change at page 18, line 46
The UNBIND method modifies the collection identified by the The UNBIND method modifies the collection identified by the
Request-URI, by removing the binding identified by the segment Request-URI, by removing the binding identified by the segment
specified in the UNBIND body. specified in the UNBIND body.
Once a resource is unreachable by any URI mapping, the server MAY Once a resource is unreachable by any URI mapping, the server MAY
reclaim system resources associated with that resource. If UNBIND reclaim system resources associated with that resource. If UNBIND
removes a binding to a resource, but there remain URI mappings to removes a binding to a resource, but there remain URI mappings to
that resource, the server MUST NOT reclaim system resources that resource, the server MUST NOT reclaim system resources
associated with the resource. associated with the resource.
This method is unsafe and idempotent (see [RFC2616], section 9.1).
Marshalling: Marshalling:
The request body MUST be a DAV:unbind XML element. The request body MUST be a DAV:unbind XML element.
<!ELEMENT unbind (segment)> <!ELEMENT unbind (segment)>
If the request succeeds, the server MUST return 200 (OK) when the If the request succeeds, the server MUST return 200 (OK) when the
binding was successfully deleted. binding was successfully deleted.
If a response body for a successful request is included, it MUST If a response body for a successful request is included, it MUST
be a DAV:unbind-response XML element. Note that this document be a DAV:unbind-response XML element. Note that this document
does not define any elements for the UNBIND response body, but the does not define any elements for the UNBIND response body, but the
DAV:unbind-response element is defined to ensure interoperability DAV:unbind-response element is defined to ensure interoperability
between future extensions that do define elements for the UNBIND between future extensions that do define elements for the UNBIND
response body. response body.
skipping to change at page 19, line 34 skipping to change at page 20, line 34
"http://www.example.com/CollX". A request to the resource named "http://www.example.com/CollX". A request to the resource named
"http://www.example.com/CollX/foo.html" will return a 404 (Not Found) "http://www.example.com/CollX/foo.html" will return a 404 (Not Found)
response. response.
6. REBIND Method 6. REBIND Method
The REBIND method removes a binding to a resource from one The REBIND method removes a binding to a resource from one
collection, and adds a binding to that resource into another collection, and adds a binding to that resource into another
collection. It is effectively an atomic form of a MOVE request. collection. It is effectively an atomic form of a MOVE request.
This method is unsafe and idempotent (see [RFC2616], section 9.1).
Marshalling: Marshalling:
The request MAY include an Overwrite header. The request MAY include an Overwrite header.
The request body MUST be a DAV:rebind XML element. The request body MUST be a DAV:rebind XML element.
<!ELEMENT rebind (segment, href)> <!ELEMENT rebind (segment, href)>
If the request succeeds, the server MUST return 201 (Created) when If the request succeeds, the server MUST return 201 (Created) when
a new binding was created and 200 (OK) when an existing binding a new binding was created and 200 (OK) when an existing binding
skipping to change at page 21, line 42 skipping to change at page 22, line 44
>> Response: >> Response:
HTTP/1.1 200 OK HTTP/1.1 200 OK
The server added a new binding to the collection, The server added a new binding to the collection,
"http://www.example.com/CollX", associating "foo.html" with the "http://www.example.com/CollX", associating "foo.html" with the
resource identified by the URI resource identified by the URI
"http://www.example.com/CollY/bar.html", and removes the binding "http://www.example.com/CollY/bar.html", and removes the binding
named "bar.html" from the collection identified by the URI named "bar.html" from the collection identified by the URI
"http://www.example.com/CollY". Clients can now use the URI "http:// "http://www.example.com/CollY". Clients can now use the URI
www.example.com/CollX/foo.html" to submit requests to that resource, "http://www.example.com/CollX/foo.html" to submit requests to that
and requests on the URI "http://www.example.com/CollY/bar.html" will resource, and requests on the URI
fail with a 404 (Not Found) response. "http://www.example.com/CollY/bar.html" will fail with a 404 (Not
Found) response.
7. Additional Status Codes 7. Additional Status Codes
7.1 208 Already Reported 7.1 208 Already Reported
The 208 (Already Reported) status code can be used inside a The 208 (Already Reported) status code can be used inside a
DAV:propstat response element to avoid enumerating the internal DAV:propstat response element to avoid enumerating the internal
members of multiple bindings to the same collection repeatedly. For members of multiple bindings to the same collection repeatedly. For
each binding to a collection inside the request's scope, only one each binding to a collection inside the request's scope, only one
will be reported with a 200 status, while subsequent DAV:response will be reported with a 200 status, while subsequent DAV:response
skipping to change at page 27, line 7 skipping to change at page 28, line 26
Spencer Dawkins, Mark Day, Rajiv Dulepet, David Durand, Stefan Spencer Dawkins, Mark Day, Rajiv Dulepet, David Durand, Stefan
Eissing, Roy Fielding, Yaron Goland, Joe Hildebrand, Fred Hitt, Alex Eissing, Roy Fielding, Yaron Goland, Joe Hildebrand, Fred Hitt, Alex
Hopmann, James Hunt, Marcus Jager, Chris Kaler, Manoj Kasichainula, Hopmann, James Hunt, Marcus Jager, Chris Kaler, Manoj Kasichainula,
Rohit Khare, Brian Korver, Daniel LaLiberte Steve Martin, Larry Rohit Khare, Brian Korver, Daniel LaLiberte Steve Martin, Larry
Masinter, Jeff McAffer, Surendra Koduru Reddy, Max Rible, Sam Ruby, Masinter, Jeff McAffer, Surendra Koduru Reddy, Max Rible, Sam Ruby,
Bradley Sergeant, Nick Shelness, John Stracke, John Tigue, John Bradley Sergeant, Nick Shelness, John Stracke, John Tigue, John
Turner, Kevin Wiggen, and other members of the WebDAV working group. Turner, Kevin Wiggen, and other members of the WebDAV working group.
13 Normative References 13 Normative References
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform [RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform
Resource Identifiers (URI): Generic Syntax", RFC 2396, Resource Identifiers (URI): Generic Syntax", RFC 2396,
August 1998. August 1998.
[RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S. and D. [RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S. and D.
Jensen, "HTTP Extensions for Distributed Authoring -- Jensen, "HTTP Extensions for Distributed Authoring --
WEBDAV", RFC 2518, February 1999. WEBDAV", RFC 2518, February 1999.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
[XML] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and [XML] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and
F. Yergeau, "Extensible Markup Language (XML) 1.0 (Third F. Yergeau, "Extensible Markup Language (XML) 1.0 (Third
Edition)", W3C REC-xml-20040204, February 2004, Edition)", W3C REC-xml-20040204, February 2004,
<http://www.w3.org/TR/2004/REC-xml-20040204>. <http://www.w3.org/TR/2004/REC-xml-20040204>.
[1] <mailto:w3c-dist-auth@w3.org>
[2] <mailto:w3c-dist-auth-request@w3.org?subject=subscribe>
Authors' Addresses Authors' Addresses
Geoffrey Clemm Geoffrey Clemm
IBM IBM
20 Maguire Road 20 Maguire Road
Lexington, MA 02421 Lexington, MA 02421
EMail: geoffrey.clemm@us.ibm.com EMail: geoffrey.clemm@us.ibm.com
Jason Crawford Jason Crawford
skipping to change at page 29, line 5 skipping to change at page 30, line 25
Add and close issues "6_precondition_binding_allowed" and Add and close issues "6_precondition_binding_allowed" and
"6_lock_behaviour". Add mailing list and issues list pointers to "6_lock_behaviour". Add mailing list and issues list pointers to
front. front.
A.4 Since draft-ietf-webdav-bind-05 A.4 Since draft-ietf-webdav-bind-05
Editorial fixes. Add and resolve issues "1.3_error_negotiation", Editorial fixes. Add and resolve issues "1.3_error_negotiation",
"2.5_language" and "7.1.1_add_resource_id". Add historical issue "2.5_language" and "7.1.1_add_resource_id". Add historical issue
"4_LOCK_BEHAVIOR" and it's resolution for better tracking. "4_LOCK_BEHAVIOR" and it's resolution for better tracking.
A.5 Since draft-ietf-webdav-bind-06
Rewrite Editorial Note. Open and resolve issues "2.6_identical",
"specify_safeness_and_idempotence" and "ED_rfc2026_ref".
Appendix B. Resolved issues (to be removed by RFC Editor before Appendix B. Resolved issues (to be removed by RFC Editor before
publication) publication)
Issues that were either rejected or resolved in this version of this Issues that were either rejected or resolved in this version of this
document. document.
B.1 4_LOCK_BEHAVIOR B.1 ED_rfc2026_ref
Type: change
<http://lists.w3.org/Archives/Public/w3c-dist-auth/2003JanMar/0200.html>
briank@xythos.com (2003-02-28): Define "Resource": The term
"resource" should be defined in the draft. I imagine the definition
is something along the lines of "all content and all properties
associated with that content (including live and dead properties),
but which does not include properties associated with URIs." Bindings
and Locks: The relationship between bindings and locks is missing
from the draft. I think the behavior of locks and the lock methods
should be fully specified in this draft. URL Properties: The
behavior of other URL properties (in addition to locks) should be
fully specified, for instance the display-name property. Move and
Delete: The spec states that move and delete are merely operations on
bindings. At the very least, this is inconsistent with 2518, but I
also think that the draft doesn't adequately address any of the
issues that come up when the server goes to "reclaim system
resources." I would expect most servers to reclaim said resources
during move and delete. Operations not Atomic: None of the
operations specified should be required to be atomic. I'd prefer
SHOULD NOT myself. This is especially true for any operation that
involves deleting collections.
Resolution: This was closed in draft 02. Some comments: (1) It's up
to RFC2396 and RFC2616 to define what a "resource" is. We don't
change that here. (2) There is no such thing as URL properties.
WebDAV properties are part of the state of a WebDAV/HTTP resource;
and a URI by itself is not a resource. (3) Bindings vs Locks: see
other issues. (4) MOVE and DELETE are allowed to work the same way
as in RFC2518 (except for Delete not removing all bindings). (5) The
new methods are all atomic on purpose. If a server can't implement
UNBIND on collections; that is fine. It can still implement DELETE
with the classic non-atomic behaviour.
B.2 1.3_error_negotiation Type: edit
Type: change <http://lists.w3.org/Archives/Public/w3c-dist-auth/2004JulSep/
<http://lists.w3.org/Archives/Public/w3c-dist-auth/2004AprJun/0205.html> 0220.html>
joe@cursive.net (2004-06-22): Second paragraph: how might I otherwise julian.reschke@greenbytes.de (2004-09-27): The reference to RFC2026
negotiate? The DAV:bind header? isn't used anywhere in the text.
Resolution: No change. Summary: this is to allow future extensions Resolution (2004-09-27): Remove it.
where different error marsahlling mechanisms would be used. See also
http://lists.w3.org/Archives/Public/w3c-dist-auth/2004AprJun/0210.html.
B.3 2.5_language B.2 specify_safeness_and_idempotence
Type: change Type: edit
<http://lists.w3.org/Archives/Public/w3c-dist-auth/2004AprJun/0205.html> <http://lists.w3.org/Archives/Public/w3c-dist-auth/2004JulSep/
0192.html>
joe@cursive.net (2004-06-22): Last paragraph is a repeat of text two julian.reschke@greenbytes.de (2004-09-18): Specify safeness and
paragraphs before. idempotence of new methods.
Resolution (2004-06-24): Just move the second sentence of the last Resolution (2004-09-19): Done.
paragraph to the end of the second paragraph, and then delete the
rest of the last paragraph.
B.4 7.1.1_add_resource_id B.3 2.6_identical
Type: change Type: change
<http://lists.w3.org/Archives/Public/w3c-dist-auth/2004AprJun/0205.html> <http://lists.w3.org/Archives/Public/w3c-dist-auth/2004JulSep/
0188.html>
joe@cursive.net (2004-06-22): I think this would be clearer if it julian.reschke@greenbytes.de (2004-09-17): Clarify exactly when when
included D:resource-id in the request and response, so you could tell two resource-ids are identical.
where the loop happened. Are resource-id's likely to be costly to
return?
Resolution (2004-06-23): No, they should be cheap. Update example. Resolution (2004-09-17): They are identical if and only they are the
same character by character.
Appendix C. Open issues (to be removed by RFC Editor prior to Appendix C. Open issues (to be removed by RFC Editor prior to
publication) publication)
C.1 edit C.1 edit
Type: edit Type: edit
julian.reschke@greenbytes.de (2004-05-30): Umbrella issue for julian.reschke@greenbytes.de (2004-05-30): Umbrella issue for
editorial fixes/enhancements. editorial fixes/enhancements.
Index Index
2 2
208 Already Reported (status code) 21 208 Already Reported (status code) 23
5 5
506 Loop Detected (status code) 24 506 Loop Detected (status code) 25
B B
BIND method 15 BIND method 16
C C
Condition Names Condition Names
DAV:bind-into-collection (pre) 16 DAV:bind-into-collection (pre) 17
DAV:bind-source-exists (pre) 16 DAV:bind-source-exists (pre) 17
DAV:binding-allowed (pre) 16 DAV:binding-allowed (pre) 17
DAV:binding-deleted (post) 18, 21 DAV:binding-deleted (post) 19, 22
DAV:can-overwrite (pre) 16, 20 DAV:can-overwrite (pre) 17, 21
DAV:cross-server-binding (pre) 16, 20 DAV:cross-server-binding (pre) 17, 21
DAV:cycle-allowed (pre) 16, 20 DAV:cycle-allowed (pre) 17, 21
DAV:lock-deleted (post) 18, 21 DAV:lock-deleted (post) 19, 22
DAV:locked-overwrite-allowed (pre) 16 DAV:locked-overwrite-allowed (pre) 17
DAV:locked-source-collection-update-allowed (pre) 20 DAV:locked-source-collection-update-allowed (pre) 21
DAV:locked-update-allowed (pre) 16, 18, 20 DAV:locked-update-allowed (pre) 17, 19, 21
DAV:name-allowed (pre) 16, 20 DAV:name-allowed (pre) 17, 21
DAV:new-binding (post) 16, 21 DAV:new-binding (post) 17, 22
DAV:protected-source-url-deletion-allowed (pre) 20 DAV:protected-source-url-deletion-allowed (pre) 21
DAV:protected-url-deletion-allowed (pre) 18 DAV:protected-url-deletion-allowed (pre) 19
DAV:protected-url-modification-allowed (pre) 20 DAV:protected-url-modification-allowed (pre) 21
DAV:rebind-into-collection (pre) 20 DAV:rebind-into-collection (pre) 21
DAV:rebind-source-exists (pre) 20 DAV:rebind-source-exists (pre) 21
DAV:unbind-from-collection (pre) 18 DAV:unbind-from-collection (pre) 19
DAV:unbind-source-exists (pre) 18 DAV:unbind-source-exists (pre) 19
D D
DAV header DAV header
compliance class 'bind' 24 compliance class 'bind' 26
DAV:bind-into-collection precondition 16 DAV:bind-into-collection precondition 17
DAV:bind-source-exists precondition 16 DAV:bind-source-exists precondition 17
DAV:binding-allowed precondition 16 DAV:binding-allowed precondition 17
DAV:binding-deleted postcondition 18, 21 DAV:binding-deleted postcondition 19, 22
DAV:can-overwrite precondition 16, 20 DAV:can-overwrite precondition 17, 21
DAV:cross-server-binding precondition 16, 20 DAV:cross-server-binding precondition 17, 21
DAV:cycle-allowed precondition 16, 20 DAV:cycle-allowed precondition 17, 21
DAV:lock-deleted postcondition 18, 21 DAV:lock-deleted postcondition 19, 22
DAV:locked-overwrite-allowed precondition 16 DAV:locked-overwrite-allowed precondition 17
DAV:locked-source-collection-update-allowed precondition 20 DAV:locked-source-collection-update-allowed precondition 21
DAV:locked-update-allowed precondition 16, 18, 20 DAV:locked-update-allowed precondition 17, 19, 21
DAV:name-allowed precondition 16, 20 DAV:name-allowed precondition 17, 21
DAV:new-binding postcondition 16, 21 DAV:new-binding postcondition 17, 22
DAV:parent-set property 14 DAV:parent-set property 15
DAV:protected-source-url-deletion-allowed precondition 20 DAV:protected-source-url-deletion-allowed precondition 21
DAV:protected-url-deletion-allowed precondition 18 DAV:protected-url-deletion-allowed precondition 19
DAV:protected-url-modification-allowed precondition 20 DAV:protected-url-modification-allowed precondition 21
DAV:rebind-into-collection precondition 20 DAV:rebind-into-collection precondition 21
DAV:rebind-source-exists precondition 20 DAV:rebind-source-exists precondition 21
DAV:resource-id property 14 DAV:resource-id property 15
DAV:unbind-from-collection precondition 18 DAV:unbind-from-collection precondition 19
DAV:unbind-source-exists precondition 18 DAV:unbind-source-exists precondition 19
M M
Methods Methods
BIND 15 BIND 16
REBIND 19 REBIND 20
UNBIND 17 UNBIND 18
P P
Properties Properties
DAV:parent-set 14 DAV:parent-set 15
DAV:resource-id 14 DAV:resource-id 15
R R
REBIND method 19 REBIND method 20
S S
Status Codes Status Codes
208 Already Reported 21 208 Already Reported 23
506 Loop Detected 24 506 Loop Detected 25
U U
UNBIND method 17 UNBIND method 18
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/