HTTP 428 Precondition Required vs 510 Not Extended
HTTP 428 (Precondition Required) is a 4xx Client Error response, while 510 (Not Extended) is a 5xx Server Error response. 428 indicates that the server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates. In contrast, 510 means that further extensions to the request are required for the server to fulfill it.
Description
The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
When You See It
When an API requires optimistic concurrency control via ETags.
How to Fix
Fetch the resource first to get its ETag, then include If-Match in your update request.
Description
Further extensions to the request are required for the server to fulfill it.
When You See It
When an HTTP extension required by the server is not present in the request.
How to Fix
Add the required extension headers to your request.
Key Differences
428 is a 4xx Client Error response, while 510 is a 5xx Server Error response.
HTTP 428: The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
HTTP 510: Further extensions to the request are required for the server to fulfill it.
You encounter 428 when when an API requires optimistic concurrency control via ETags.
You encounter 510 when when an HTTP extension required by the server is not present in the request.
When to Use Which
For 428 (Precondition Required): Fetch the resource first to get its ETag, then include If-Match in your update request. For 510 (Not Extended): Add the required extension headers to your request.