Skip to content

12. HTTP 状态码的使用

原有的 HTTP 代码并未被重新定义,但是在 WebDAV 场景中,它们的用法和要求在一定程度上也被扩展了。一般来说,任何请求都可以使用许多 HTTP 状态码来响应,而不仅仅是在本文档中描述的情况。还要注意,WebDAV 服务器使用的是 300 级别的重定向响应(而早前的互操作性测试发现有客户端并未准备好如何应对这响应),服务器为响应请求而创建了新资源时,不得使用 300 级别的响应。

12.1 412 - 前提条件失败

任何请求都可以包含一个在 HTTP 中定义了的条件化 header(如 If-Match,If-Modified-Since 等)或在本规范中定义的“If”与“Overwrite”条件化 header。如果服务器评估条件化 header,并且该条件未能成立,则必须返回此错误代码。反过来说,如果客户端在请求中未包含条件化 header,则服务器不得使用此状态代码。

12.2 414 - 请求 URI 太长

在 HTTP/1.1 中,此状态代码仅用于请求 URI 太长的情况,而不用于其他位置的 URI 超长。