HTTP

HTTP 204 No Content vs 428 Precondition Required

HTTP 204 (No Content) is a 2xx Success response, while 428 (Precondition Required) 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, 428 means that the server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.

描述

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.

描述

The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.

何时出现

When an API requires optimistic concurrency control via ETags.

如何修复

Fetch the resource first to get its ETag, then include If-Match in your update request.

主要区别

1.

204 is a 2xx Success response, while 428 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 428: The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.

4.

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

5.

You encounter 428 when when an API requires optimistic concurrency control via ETags.

何时使用哪个

For 204 (No Content): No fix needed. The action was successful; there is simply no content to return. For 428 (Precondition Required): Fetch the resource first to get its ETag, then include If-Match in your update request.

了解更多