At One Place

HTTP 305 — Use Proxy

HTTP 305
Use Proxy
A deprecated code telling the client to repeat the request through a specific proxy.

What 305 actually means

The server wanted the client to go through the proxy named in the `Location` header. It is deprecated for a good reason: a response that can redirect a browser through an attacker-chosen proxy is a security hole, so browsers never implemented it and modern specifications tell clients to ignore it. If you get one, treat it as an oddity, not an instruction.

Common causes

  • A very old server implementation
  • A misconfigured or deliberately hostile intermediary

If you're just trying to view the page

  1. Nothing — browsers ignore this code entirely
  2. If a tool is trying to act on it, be suspicious; unsolicited proxy instructions are a known attack pattern

If it's your site

  1. Never send this; configure proxies through PAC files, system settings or WPAD instead
  2. Clients should ignore 305 responses rather than following them

Reference

Status code
305
Reason phrase
Use Proxy
Category
3xx — Redirection
Defined in
RFC 9110 §15.4.6

Common questions

What does HTTP 305 mean?
A deprecated code telling the client to repeat the request through a specific proxy. The server wanted the client to go through the proxy named in the `Location` header. It is deprecated for a good reason: a response that can redirect a browser through an attacker-chosen proxy is a security hole, so browsers never implemented it and modern specifications tell clients to ignore it.
How do I fix a 305 error?
Nothing — browsers ignore this code entirely
Is 305 a client error or a server error?
305 is in the 3xx range, which means redirection. It is not an error at all.

Related pages

Sources

  1. Hypertext Transfer Protocol (HTTP) Status Code Registry — IANA
  2. RFC 9110: HTTP Semantics — IETF

How these figures are compiled and checked