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.
Ключевые различия
204 is a 2xx Success response, while 428 is a 4xx Client Error response.
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.
HTTP 428: The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
You encounter 204 when after DELETE requests, PUT updates where no body is needed, or CORS preflight responses.
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.