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.

เรียนรู้เพิ่มเติม