HTTP 305 Use Proxy indicates the requested resource must be accessed through the proxy specified in the Location header. This status code was deprecated in RFC 7231 due to security concerns — it could be exploited to redirect traffic through malicious proxies. Modern browsers ignore 305 responses entirely. It remains in the HTTP specification only for historical reference and backward compatibility documentation.
Response includes the status code, standard headers (including Content-Type), and a small diagnostic JSON body describing the request and returned status.
Simulator URL (copy in the app after load — not a normal link):
https://httpstatus.com/api/status/305
Example request:
curl -i "https://httpstatus.com/api/status/305"DEPRECATED. Originally indicated that the requested resource must be accessed through a proxy. Deprecated in RFC 7231 due to security concerns and should not be used.
On this code, Inspector focuses on semantics, headers, and correctness warnings that commonly affect clients and caches.
305 Use Proxy was originally defined in RFC 2616 to allow servers to direct clients to a specific proxy for accessing a resource. The Location header would contain the proxy's URL. However, this created a significant security vulnerability: any HTTP response could redirect all future requests through an attacker-controlled proxy, enabling man-in-the-middle attacks. RFC 7231 deprecated it with 'has been deprecated due to security concerns regarding in-band configuration of a proxy.' Browsers that once supported it (early IE, Netscape) removed support. No modern browser or HTTP client honors 305 responses.
app.get('/old-path', (req, res) => {
res.redirect(305, '/new-path');
});from fastapi.responses import RedirectResponse
@app.get('/old-path')
async def old_path():
return RedirectResponse('/new-path', status_code=305)@GetMapping("/old-path")
public ResponseEntity<Void> oldPath() {
return ResponseEntity.status(305)
.header("Location", "/new-path")
.build();
}func oldPathHandler(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, "/new-path", 305)
}