COPY Method
A Depth Header value of "0" or "infinity" may be included in a COPY Method. If a COPY Method with a Depth Header value of "infinity" is used, the collection and all of its internal resources will be copied from the URI specified by the request URI, to the URI specified by the Destination Header. If a COPY Method with a Depth Header of "0" is used, only the collection and its properties will be copied. When a COPY Method does not include a Depth Header, the default value is "infinity".
If a resource exists at the destination URI and the Overwrite Header is "T", then a DELETE with a depth value of "infinity" is performed on the destination resource before the COPY Method is performed. If the Overwrite Header is set to "F", then the COPY Method will fail.
The list of WebDAV Protocol Status Codes in the following table is not comprehensive. For information about 500-level status codes, see WebDAV Status Codes: 500s.
Status Codes
| Status Code | Meaning |
|---|---|
| 201 (Created) | The resource was successfully copied. |
| 204 (No Content) | The source resource was successfully copied to a pre-existing destination resource. |
| 403 (Forbidden) | The source URI and the destination URI are the same. |
| 409 (Conflict) | A resource cannot be created at the destination URI until one or more intermediate collections are created. |
| 412 (Precondition Failed) | Either the Overwrite header is "F" and the state of the destination resource is not null, or the method was used in a Depth: 0 transaction. |
| 423 (Locked) | The destination resource is locked. |
| 502 (Bad Gateway) | The COPY destination is located on a different server, which refuses to accept the resource. |
| 507 (Insufficient Storage) | The destination resource does not have sufficient storage space. |
Example
The following example illustrates a WebDAVCOPY Method with an Overwrite Header value of "T". The operation is completed successfully and a status code of 201 (Created) is returned.
Request
COPY /~username/index.html HTTP/1.1 Host: www.contoso.com Destination: http://www.contoso.com/~username/folder/index.html Overwrite: T
Response
HTTP/1.1 201 Created
Example
The following example illustrates a WebDAVCOPY Method with a lock token in the If Header. The operation is not completed successfully because there is a lock in place on the destination resource.
Request
COPY /public/user/index.html HTTP/1.1 Host: www.contoso.com Destination: http://www.contoso.com/public/backup/index.html If: <http://www.contoso.com/public/backup/index.html> (<opaquelocktoken:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>)
Response
HTTP/1.1 423 Locked