203 Non-Authoritative Information

203 Non-Authoritative Information is a status-code that might be used by a HTTP proxy.

A HTTP Proxy sits in the middle between a client and a server (origin). In some cases a HTTP Proxy might make changes to the response before it reaches the client.

Perhaps because the Proxy converts the format, or maybe it adds something to the HTML body.

For these situations a proxy can indicate that it changed something by changing the status-code to 203.

However, this status-code has some issues. If a proxy changed the status-code, it’s no longer possible to see what the original status code was. Maybe it was a 200, or 201 or 404 before. That information is now lost.

The RFC actually suggest to use the Warning header for this instead. The warning header can be set to the code 214 Transformation applied. The benefit of a warning code over a status-code is that it can be set without obscuring what the original status code was.

I would not recommend using 203, and I’m not aware of any software that does. A Warning header is better.

Example using 203 Non-Authorititative Information:

HTTP/1.1 203 Non-Authoritative Information
Content-Type: text/plain
Content-Length: 515

...

Example using Warning header

HTTP/1.1 200 OK
Content-Type: text/plain
Warning: 214 proxy.example.org "We censored the response. srry"
Content-Length: 515

...

Even though the Warning header is actually required when proxies modify the response, most proxies don’t appear to include it.

Random fact: Non-Authoritative Information has 10 syllables. It shares the #1 spot for most syllables with another status code.

References

HTTP series

This article is part of an ongoing series about the HTTP protocol.

If you want to follow along as I write them, you can Subscribe to my Atom feed or Mailing list.

Archive

Web mentions