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.

HTTP 203 full guide →

Quick reference

Code203
NameNon-Authoritative Information
Category2xx Success
SpecificationRFC 9110 §15.3.4
IANA statusAssigned
CacheableYes — cacheable by default
Client actionTreat as success. Be aware the content may have been modified by a proxy or transformation layer.
In-depth guideHTTP 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

Aspect200 OK203 Non-Authoritative
SourceDirect from origin serverModified by proxy or intermediary
Content fidelityOriginal, unmodifiedMay be transformed, filtered, or annotated
CacheableYesYes
Client behaviorStandard success handlingSame 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