Status Code 305

Use Proxy

The requested resource is available only through a proxy.

Details

Category

Redirection

Popularity

rare

Recommended

No

Deprecated

Yes

Common Use Case

Deprecated - security concerns

Notes

Deprecated due to security concerns; proxies should be avoided.

RFC Reference

RFC 9110 HTTP/1.1 (2022)
Defines the HTTP/1.1 protocol, including semantics, caching, and connection management.

Description

The requested resource is available only through a proxy.

HTTP Response Example

A typical server response for a 305 Use Proxy status code looks like:

HTTP/1.1 305 Use Proxy
Date: Sun, 22 Mar 2026 12:00:00 GMT
Server: httperrors.com
Location: https://example.com/new-location
Content-Length: 0
Detailed Explanation

Redirection responses are often easy to misuse because they look simple on paper. In reality they shape caching behavior, browser history, crawler decisions, and the semantics of repeated requests.

Historically, HTTP 305 Use Proxy should be read in light of RFC 9110. Standards text tends to focus on precise semantics, while production systems care about retries, user experience, dashboards, proxies, browsers, and documentation. Good engineering joins those two views instead of choosing one over the other. When teams treat a status code as both a protocol message and a product decision, they produce APIs and pages that are easier to operate and easier to trust.

A practical reading of this entry is that the server is communicating something very specific: The requested resource is available only through a proxy. In day-to-day work, that meaning should be reflected across controllers, reverse proxies, API gateways, and frontend assumptions. If the server sends HTTP 305, but the response body, cache headers, or application behavior tell a different story, client code starts compensating for inconsistency and the whole stack becomes harder to reason about.

The example attached to this code, Deprecated - security concerns, helps anchor the status in a real workflow. That matters because status codes become easier to remember when they are associated with an operational scenario rather than memorized in isolation.

The most common implementation mistake with redirection codes is choosing one that conflicts with method preservation, caching intent, or long-term URL strategy. The exact code matters because clients react differently.

In implementation terms, HTTP 305 Use Proxy should appear at a deliberate decision point in your request handling code. Avoid choosing it late as a cosmetic label after the rest of the response is already formed. Client behavior should respect redirect semantics, especially around method changes, cache duration, and preservation of request bodies. If your logs show this status frequently, the surrounding context should make it obvious whether the response reflects normal traffic or a design problem.

The recommendation flag for this entry is negative, so teams should treat HTTP 305 as a specialized code that deserves extra review before adoption. This is especially relevant when designing a public API that must stay predictable over time.

A useful way to compare HTTP 305 is against other redirect codes that differ on permanence, caching, or method preservation. Substituting one for another can change browser and crawler behavior more than teams expect. This is one reason protocol precision pays off over time: the better your status taxonomy, the easier it becomes to debug client behavior, build metrics, and explain edge cases to other engineers.

From an operational perspective, HTTP 305 should be visible in logs, metrics, and alerts with enough surrounding metadata to explain why it happened. Popularity for this entry is listed as rare, and that should influence how much defensive documentation and monitoring you add. Because the code is relatively rare, every occurrence is a stronger signal that engineers and support teams will need extra context.

Redirection codes are highly visible to search engines because they influence canonicalization, crawl paths, and how ranking signals are transferred between URLs. An incorrect redirect strategy can fragment authority or cause important pages to disappear from the preferred index path. For HTTP 305, the operational takeaway is that status correctness supports SEO indirectly by making crawl behavior more predictable. Pages, APIs, and edge routes should return this code only when its meaning is exactly true.

Since this code is not marked as recommended, it should usually be treated as a specialist tool rather than a default answer. That does not make it wrong. It means the burden of proof is higher: engineers should be able to explain why this code communicates the situation better than a more conventional alternative.

Deprecation adds another layer of judgment. Legacy systems may still expose HTTP 305 for compatibility or historical reasons, but new work should move toward a modern equivalent whenever possible. Documentation for deprecated responses should be especially clear so integrators know whether they are observing a maintained contract or a compatibility leftover.

Because HTTP 305 sits in the redirection category, developers should think about how the code interacts with frontend behavior, backend instrumentation, CDN layers, and search engine crawlers. A status code is never just a number in the network tab; it becomes part of your application's public contract.

The best way to think about HTTP 305 Use Proxy is not as trivia, but as a promise. It tells the caller what happened, what should happen next, and how much confidence the client can place in the current response. The example recorded for this entry is Deprecated - security concerns, and the note says Deprecated due to security concerns; proxies should be avoided.. Together with the specification link at https://datatracker.ietf.org/doc/html/rfc9110#section-15.4.6, those details give implementers enough context to use the code intentionally rather than mechanically. That is the standard worth aiming for in production systems.

HTTP status code data sourced from official IETF RFCs and standards.

© 2026 The open source reference for HTTP status codes