305 Use Proxy

Deprecated. It once told the client to use a proxy.

Code
305
Reason phrase
Use Proxy
Class
3xx Redirection
Defined in
RFC 9110 section 15.4.6
Status
Deprecated by RFC 7231 for security reasons; RFC 9110 keeps it only as a record.
Cacheable by default
No

What it means

Redirection: the client has to take another step, usually following a Location header, to complete the request.

Common causes. Old servers only.

What to do. Ignore. Browsers do not act on it, for security reasons.

How clients and crawlers treat it

Caching. Not cacheable by default (RFC 9110 section 15.1 does not list it). A cache stores it only when the response says so with Cache-Control or Expires.

Example response

HTTP/1.1 305 Use Proxy
Content-Type: text/plain; charset=utf-8

Use Proxy

How to send 305

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

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

Related codes

All status codes · All 3xx codes

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