HTTP

HTTP 204 No Content vs 412 Precondition Failed

HTTP 204 (No Content) is a 2xx Success response, while 412 (Precondition Failed) is a 4xx Client Error response. 204 indicates that the server successfully processed the request but is not returning any content. Common for DELETE operations and form submissions that don't need a response body. In contrast, 412 means that one or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

描述

The server successfully processed the request but is not returning any content. Common for DELETE operations and form submissions that don't need a response body.

何时出现

After DELETE requests, PUT updates where no body is needed, or CORS preflight responses.

如何修复

No fix needed. The action was successful; there is simply no content to return.

描述

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.

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

2.

HTTP 204: The server successfully processed the request but is not returning any content. Common for DELETE operations and form submissions that don't need a response body.

3.

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

4.

You encounter 204 when after DELETE requests, PUT updates where no body is needed, or CORS preflight responses.

5.

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

何时使用哪个

For 204 (No Content): No fix needed. The action was successful; there is simply no content to return. For 412 (Precondition Failed): Refresh the ETag/Last-Modified value and retry with updated preconditions.

了解更多