The 203 Non-Authoritative Information status code indicates that the request was successful, but the returned response body has been modified by a transforming proxy or intermediary. The information is valid, but it did not come directly from the origin server.
When a client makes a request, the origin server may not respond directly. Instead, an intermediary (like a caching proxy) might modify headers or body content. In such cases, the proxy can return a 203 status code to signal that the response is not exactly what the origin server would have returned.
// Express.js example sending a 203 response
res.status(203).json({
message: "Response modified by proxy",
source: "cache"
});
The client receives JSON data successfully, but the status code signals that the data may have been transformed by an intermediary service.
Click the button below to simulate a request passing through a transforming proxy server.
// Fetch API example checking for 203 status
fetch("/api/data")
.then(res => {
if (res.status === 203) {
console.log("Non-authoritative information received");
}
return res.json();
})
.then(data => console.log(data));