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.