RFC 4918, "HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)", June 2007
Note: This RFC has been updated by RFC 5689Source of RFC: webdav (app)
Errata ID: 4440
Publication Format(s) : TEXT
Reported By: Worik Stanton
Date Reported: 2015-08-09
Section 9.8 says:
There are several ambiguities in this section. Here is one.
Copying a resource to a defined collection:
From To Result
/a/c/d /b/ /b/d
This is the logical interpretation and does not conflict with the specifications. But...
From To Result
/a/c/d /b/ /d (/b/ is overwritten)
This perverse but does not conflict either. Trashing he complete collection in this way cannot be right, but it is not in conflict with anything I can find in section 9.8. The closest I can find is:
"When a collection is overwritten, the membership of the destination collection after the successful COPY request MUST be the same membership as the source collection immediately before the COPY."
This does not explicitly prohibit overwriting a collection with a non-collection.
The specification uses "in the destination.." and "at the destination..." interchangeably.
"The COPY method creates a duplicate of the source resource identified by the Request-URI, in the destination resource identified by the URI in the Destination header." This suggests the first
The specification also says: "When the source resource is not a collection, the result of the COPY method is the creation of a new resource at the destination whose state and behavior match that of the source resource as closely as possible." This could mean the second.
Possibly copying a non-collection resource to a collection resource should not be allowed (but I can find no such prohibition)