HTTP 203 Non-Authoritative Information
HTTP 203 Non-Authoritative Information means the request succeeded, but the response body was not returned directly from the origin server. Instead, a proxy, gateway, or local transformation process modified the response and is signaling that the content may differ from what the origin server would have returned directly.
Quick reference
| Code | 203 |
|---|---|
| Name | Non-Authoritative Information |
| Category | 2xx Success |
| Specification | RFC 9110 §15.3.4 |
| IANA status | Assigned |
| Cacheable | Yes — cacheable by default |
| Client action | Treat as success. Be aware the content may have been modified by a proxy or transformation layer. |
| In-depth guide | HTTP 203 full guide → |
What HTTP 203 means
RFC 9110 defines 203 as indicating that the request was successful but the enclosed payload has been modified from that of the origin server's 200 response by a transforming proxy. The proxy changed the content in some way — removed metadata, converted formats, summarized, annotated, or filtered the response — and is using 203 to signal this transformation to the client.
203 is intended as a transparency mechanism: when an intermediary transforms a response, it should change the status from 200 to 203 so that clients know the content is not a direct origin server response. This allows clients that care about data provenance to distinguish original content from proxy-modified content.
In practice, 203 is rare. Most proxies and CDNs do not return 203 when they modify responses — they return 200 silently. The Warning header (now deprecated in RFC 9110) was the original mechanism for signaling proxy transformations, but 203 provides a cleaner status code signal.
When 203 is used
Annotation and metadata injection proxies
Corporate proxies that add security headers, inject tracking pixels, or append legal disclaimers to web content. The proxy changes the origin's response and returns 203 to indicate modification.
Content transformation gateways
Mobile transcoding proxies that convert images to lower-resolution formats, translate responses between formats, or strip HTML for bandwidth-constrained clients.
Summarization and extraction services
APIs that fetch an origin URL, extract structured data, and return a transformed version of the content. The service may return 203 to signal that the response is derived from, but not identical to, the origin.
Search engine preview APIs
Services that return snippets or previews of remote content. 203 signals that the content has been processed and may not be a complete representation of the origin resource.
203 vs 200 — practical differences
| Aspect | 200 OK | 203 Non-Authoritative |
|---|---|---|
| Source | Direct from origin server | Modified by proxy or intermediary |
| Content fidelity | Original, unmodified | May be transformed, filtered, or annotated |
| Cacheable | Yes | Yes |
| Client behavior | Standard success handling | Same as 200, but be aware content may differ from origin |
FAQ
What does HTTP 203 Non-Authoritative Information mean?
HTTP 203 means the request succeeded, but the response body came from a proxy or transformation layer rather than directly from the origin server. The content may differ from what the origin would have returned.
Is 203 treated the same as 200 by clients?
In most cases, yes. Browsers handle 203 like 200 for rendering. API clients that branch on exact status codes should treat 203 as a success code equivalent to 200, unless data provenance matters for the use case.
Should servers return 203?
Only if the server is a transforming proxy that modified an origin's response. Origin servers should return 200. 203 is specifically for intermediaries that changed the content.
How common is 203 in practice?
Rare. Most transforming proxies return 200 silently. 203 is more of a protocol ideal than common practice — it exists so that clients can detect proxy transformations when they occur.
Related resources
On this site: HTTP 203 Non-Authoritative Information — full guide · HTTP 200 OK · HTTP 206 Partial Content · All 2xx success codes
Standards: RFC 9110 §15.3.4 · IANA HTTP Status Code Registry · MDN Web Docs: 203