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.