203 Non-Authoritative Information

The request succeeded, but a proxy changed the response from what the origin server sent.

Code
203
Reason phrase
Non-Authoritative Information
Class
2xx Success
Defined in
RFC 9110 section 15.3.4
Cacheable by default
Yes

What it means

Success: the request was received, understood and accepted.

Common causes. A transforming proxy that rewrote headers or content.

What to do. Nothing in most cases. Fetch from the origin directly if you need the unmodified response.

How clients and crawlers treat it

Caching. Cacheable by default (RFC 9110 section 15.1). With no Cache-Control or Expires header, a cache may still store it and reuse it for a heuristic period, often 10% of the time since Last-Modified, so set Cache-Control explicitly if that is not what you want.

Example response

HTTP/1.1 203 Non-Authoritative Information
Content-Type: text/plain; charset=utf-8

Non-Authoritative Information

How to send 203

nginx
location /example {
    return 203 'Non-Authoritative Information';
}
PHP
http_response_code(203);
echo 'Non-Authoritative Information';
exit;
Node.js
res.writeHead(203, { 'Content-Type': 'text/plain' });
res.end('Non-Authoritative Information');
Python (Flask)
# in a view function
return 'Non-Authoritative Information', 203

Change the paths to suit. In nginx, add_header needs always to apply to error responses.

Related codes

All status codes · All 2xx codes

Names and numbers from the IANA HTTP Status Code Registry. Google Search behaviour as documented by Google Search Central.