WebDAV Status Codes: 300s and 400s

Topic Last Modified: 2006-06-13

The following table lists the 300/400-level status codes returned by the Microsoft® Exchange Server 2007 WebDAV protocol service. Along with each status code or group of codes are the names of associated HTTP methods and a description of each status code.

Status Code Method Description

All 300 level codes

*

Redirection (further action must be taken to complete request).

300 Multiple Choices [HTTP]

GET Method, HEAD Method

The requested resource corresponds to any one of a set of representations, each with its own specific location. Agent-driven negotiation information (section 12) is being provided so that the user (or user agent) can select a preferred representation and redirect its request to that location. [HTTP]

301 Moved Permanently [HTTP]

GET Method, HEAD Method

A new permanent Uniform Resource Identifier (URI) has been assigned to the resource. [HTTP]

PUT Method

The server wants to apply the PUT to a different URI than the one in the method.

302 Moved Temporarily [HTTP]

GET Method, HEAD Method

A new temporary URI has been assigned to the resource. [HTTP]

302 Found [HTTP/1.1]

GET Method, HEAD Method, other

The requested resource resides temporarily under a different URI. Because the redirection might be altered occasionally, the client should continue to use the Request-URI for future requests. [HTTP/1.1]

303 See Other [HTTP]

POST Method

This status code is typically used to respond to a POST, because a response to a POST cannot be stored in the cache, but the response to a GET can be. [HTTP]

304 Not Modified [HTTP]

If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server should respond with this status code. The response must not contain a message-body. [HTTP]

305 Use Proxy [HTTP]

Any

The requested resource must be accessed through the proxy given by the Location field. [HTTP/1.1]

306 Unused

The 306 status code was used in a previous version of the specification and is no longer used. Also, the code is reserved. [HTTP/1.1]

307 Temporary Redirect [HTTP/1.1]

GET Method, HEAD Method

The requested resource resides temporarily under a different URI.

All 400 level codes

*

Client Failure

400 Bad Request [HTTP]

Any

Indicates malformed syntax (for example, an empty namespace name in the XML body). [HTTP]

SEARCH Method

The SEARCH Method request did not contain an XML body, or the search scope was invalid, or the query could not be executed.

401 Unauthorized [HTTP]

Any

The resource requires authorization or authorization was refused. [HTTP]

PROPPATCH Method

If a PROPPATCH Method is executed on two properties, one of which requires authentication to change and the other does not, the entire request will be rejected with a 401.

402 Payment Required [HTTP]

Any

403 Forbidden [HTTP]

Any

The client submitted a request that the server will not perform.

MKCOL Method, LOCK Method, PROPPATCH Method

The client does not have permissions to make a collection, lock the resource, or set a property. [WebDAV] Check-out attempt: this will be returned if the resource is not versioned or if the resource is a collection.

404 Not Found [HTTP]

Any

The resource named was not found. [HTTP]

405 Method Not Allowed [HTTP]

Any

The method was not allowed for the resource that was named. [HTTP] The response must include an Allow header containing a list of valid methods for the requested resource. [HTTP/1.1]

MKCOL Method

This might occur if the resource already exists and thus cannot be created. [WebDAV]

406 Not Acceptable [HTTP]

Any

The resource identified by the request is capable only of generating response entities that have content characteristics that are not acceptable according to the Accept headers sent in the request. The response should include an entity containing a list of available entity characteristics and location(s) from which the user or user agent can choose the most appropriate one. [HTTP]

HEAD Method

The response need not include an entity as indicated above.

407 Proxy Authentication Required [HTTP]

Any

This code is similar to 401 (Unauthorized), but it indicates that the client must first authenticate itself with the proxy. [HTTP/1.1]

408 Request Timeout [HTTP]

Any

The client did not produce a request within the time that the server was set to wait. [HTTP/1.1]

409 Conflict [HTTP]

MKCOL Method

A collection cannot be created until intermediate collections have been created. [WebDAV]

PROPPATCH Method

The client has provided a value, the semantics of which are not appropriate for the property. Example: trying to set a read-only property. [WebDAV]

PUT Method

Cannot PUT a resource if all ancestors do not already exist. [WebDAV]

If versioning is being used and the entity being PUT includes changes to a resource that conflict with those made by an earlier (third-party) request, the server might use the 409 response code to indicate that it cannot complete the request. [HTTP/1.1]

410 Gone [HTTP]

GET Method

The requested resource is no longer available on the server and no forwarding address is known. This condition is considered permanent. [HTTP/1.1]

411 Length Required [HTTP]

Any

The server refuses to accept the request without a defined Content-Length header. [HTTP/1.1]

412 Precondition Failed [HTTP]

Any

The precondition given in one or more of the Request header fields evaluated to false when it was tested on the server. [HTTP/1.1]

COPY Method, MOVE Method

The server was unable to maintain the availability of the properties listed in the property behavior XML element, or the Overwrite Header is F and the state of the destination resource is not null. [WebDAV]

LOCK Method

The lock token could not be enforced or the server could not satisfy the request in the lockinfo XML element.

PUT Method, COPY Method

In a WebDAV replication context, either the If: (<resourcetag>) or If: (<repl-uid>) request header in the PUT request evaluated to FALSE.

413 Request Entity Too Large [HTTP]

Any

The server refuses to process the request because it cannot process a request entity this large. [HTTP/1.1]

414 Request URI Too Large [HTTP]

Any

The server cannot service the request because the Request-URI is longer than what the server can interpret. [HTTP/1.1]

415 Unsupported Media Type [HTTP]

Any

The server cannot service the request because the entity of the request is in a format that is not supported by the requested resource for the requested method.

MKCOL Method

The server does not support the request type of the body. [WebDAV]

416 Requested Range Not Satisfiable [HTTP/1.1]

A server should return a response with this status code if a request included a Range Header field (section 14.35), if none of the range-specifier values in this field overlap with the current extent of the selected resource, and if the request did not include an If-Range request-header field. [HTTP/1.1]

417 Expectation Failed [HTTP/1.1]

The expectation given in an Expect request-header field (see section 14.20) could not be met by this server or, if the server is a proxy, the server has unambiguous evidence that the next-hop server could not meet the request. [HTTP/1.1]

422 Unprocessable Entity [WebDAV]

MKCOL Method

The server understands the content type of the request entity, but is unable to process the instructions that it contains. [WebDAV] For example, the MKCOL Method has a request body that is not understood or is incomplete, even if in XML, which is generally accepted in this situation.

SEARCH Method

There is a valid XML body in a SEARCH Method, but an unsupported or unimplemented query operator.

LOCK Method

A non-zero depth was specified for a check-out lock, or the Depth Header was omitted.

423 Locked [WebDAV]

PROPPATCH Method, DELETE Method, MOVE Method

Properties cannot be set, deleted, or moved, and a locked resource cannot be locked with the lock token. [WebDAV]

LOCK Method

The resource is already locked. The lock token is needed to refresh the lock. [WebDAV]

COPY Method

The destination resource was locked. [WebDAV]

424 Method Failure [WebDAV]

PROPPATCH Method

The method was not executed on a resource because some part of the method's execution failed and the whole method was aborted. [WebDAV]

UNLOCK Method

One of the methods in the transaction failed. Therefore the entire transaction failed.

425 Insufficient Space on Resource

SEARCH Method

The query produced more results than the server can transmit. Partial results have been transmitted.

475 Invalid collblob

SEARCH Method

The collblob submitted was invalid or outdated.