305 Use Proxy

The HTTP 305 Use Proxy status code is a deprecated status code returned by an origin server to indicate the requested resource is accessible only through a proxy.

Usage

The 305 Use Proxy status code instructs the client to obtain the requested resource through a proxy. The proxy address is specified in the Location header.

Deprecated

The 305 Use Proxy status code has been deprecated due to security concerns. Most HTTP clients do not act on this status code.

Example

The client requests a specific resource, and the server responds with 305 Use Proxy to indicate where the client sends an identical request.

Request

GET /document.pdf HTTP/1.1
Host: www.example.re

Response

HTTP/1.1 305 Use Proxy
Location: https://proxy.example.re:8080

Code references

.NET

HttpStatusCode.UseProxy

Rust

http::StatusCode::USE_PROXY

Rails

:use_proxy

Go

http.StatusUseProxy

Symfony

Response::HTTP_USE_PROXY

Python3.5+

http.HTTPStatus.USE_PROXY

Java

java.net.HttpURLConnection.HTTP_USE_PROXY

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_USE_PROXY

Angular

@angular/common/http/HttpStatusCode.UseProxy

Takeaway

The 305 Use Proxy status code indicates the request needs to go through a proxy at the Location specified in the response. This status code is deprecated and not honored by most modern clients.

See also

Last updated: March 11, 2026