More
More
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
- 304Not ModifiedThe cached copy the client already has is still current, so no body is sent.
- 306UnusedReserved. An early draft of HTTP/1.1 used it (as Switch Proxy), and it has had no meaning since.
- 303See OtherFetch the result from another address with GET.
- 307Temporary RedirectLike 302, but the client must repeat the same method and body at the new address.
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.