HTTP 203 Non-Authoritative Information vs 428 Precondition Required
HTTP 203 (Non-Authoritative Information) is a 2xx Success response, while 428 (Precondition Required) is a 4xx Client Error response. 203 indicates that the response payload has been modified by a transforming proxy from the origin server's 200 response. In contrast, 428 means that the server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
描述
The response payload has been modified by a transforming proxy from the origin server's 200 response.
何时出现
When a proxy or CDN modifies the response body (e.g., adds headers, transforms content).
如何修复
Check if a proxy is modifying the response. Access the origin directly if you need the original content.
描述
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.
主要区别
203 is a 2xx Success response, while 428 is a 4xx Client Error response.
HTTP 203: The response payload has been modified by a transforming proxy from the origin server's 200 response.
HTTP 428: The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
You encounter 203 when when a proxy or CDN modifies the response body (e.g., adds headers, transforms content).
You encounter 428 when when an API requires optimistic concurrency control via ETags.
何时使用哪个
For 203 (Non-Authoritative Information): Check if a proxy is modifying the response. Access the origin directly if you need the original content. For 428 (Precondition Required): Fetch the resource first to get its ETag, then include If-Match in your update request.