HTTP

HTTP 207 Multi-Status vs 412 Precondition Failed

HTTP 207 (Multi-Status) is a 2xx Success response, while 412 (Precondition Failed) is a 4xx Client Error response. 207 indicates that the response body contains status information for multiple resources, in situations where multiple status codes might be appropriate (WebDAV). In contrast, 412 means that one or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

描述

The response body contains status information for multiple resources, in situations where multiple status codes might be appropriate (WebDAV).

何时出现

In WebDAV operations that affect multiple resources simultaneously.

如何修复

Parse the XML body to check the status of each individual resource.

描述

One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

何时出现

When using conditional requests with ETags and the resource has changed.

如何修复

Refresh the ETag/Last-Modified value and retry with updated preconditions.

主要区别

1.

207 is a 2xx Success response, while 412 is a 4xx Client Error response.

2.

HTTP 207: The response body contains status information for multiple resources, in situations where multiple status codes might be appropriate (WebDAV).

3.

HTTP 412: One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

4.

You encounter 207 when in WebDAV operations that affect multiple resources simultaneously.

5.

You encounter 412 when when using conditional requests with ETags and the resource has changed.

何时使用哪个

For 207 (Multi-Status): Parse the XML body to check the status of each individual resource. For 412 (Precondition Failed): Refresh the ETag/Last-Modified value and retry with updated preconditions.

了解更多