- From: Roy T. Fielding <fielding@kiwi.ics.uci.edu>
- Date: Mon, 12 Oct 1998 15:42:18 -0700
- To: WEBDAV WG <w3c-dist-auth@w3.org>
While I was adding the WebDAV status code to the Apache source base, I noticed a couple things that don't fit the HTTP design. General: In several places, the protocol describes responses in terms of the response phrase, as in "The Method Failure status code", instead of the actual status code. In the HTTP specifications, the reason phrase is never used in a normative context, and is instead included in parentheses after the status code number. This is because the phrase is only a comment and not part of the protocol. Section 9: (editorial) Each of the status codes are described as if they were being inserted in the main HTTP/1.1 specification, which is very terse. WebDAV does not need to be this terse, and should at a minimum introduce the status code in the body text before each definition. 9.5 424 Method Failure The method was not executed on a particular resource within its scope because some part of the method's execution failed causing the entire method to be aborted. For example, if a command in a PROPPATCH method fails then, at minimum, the rest of the commands will also fail with 424 Method Failure. There are three problems here: 1) 424 is never used by WebDAV as a status code. 2) The above has the semantics of a 5xx response, even though the dependency was part of the client request. 3) The reason phrase does not help the reader understand the code. My suggestion is that either 424 be replaced by a non-HTTP construct in the XML of a 207 response, or that you define the status code so that it has some meaning significant to HTTP. For example 424 Failed Dependency The 424 (Failed Dependency) status code means that the method could not be performed on the resource because the requested action depended on another action and that other action failed. For example, if a command in a PROPPATCH method fails then, at minimum, the rest of the commands will also fail with a 424 response. 9.6 425 Insufficient Space on Resource The resource does not have sufficient space to record the state of the resource after the execution of this method. 4xx responses are reserved for errors by the client. This is not an error by the client. Also, a 'resource' in HTTP does not have space. If you want these semantics as a status code, then the correct definition would be something like 507 Insufficient Storage The 507 (Insufficient Storage) status code means that the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request. This condition is considered to be temporary. The request MUST NOT be repeated until it is requested by a separate user action. I'd like these to be fixed before draft 09. ....Roy
Received on Monday, 12 October 1998 19:18:11 UTC