What Is Status Code: 305 Use Proxy? The Ghost of Networking Past

What is HTTP 305 Use Proxy? This guide explains this deprecated status code, its original purpose for directing clients through a proxy, and why it's no longer used.

INEZA Felin-Michel

INEZA Felin-Michel

23 September 2025

What Is Status Code: 305 Use Proxy? The Ghost of Networking Past

If you've been digging into HTTP status codes, you've probably seen the usual suspects like 200 OK, 301 Moved Permanently, or 404 Not Found. But every once in a while, a strange one pops up like 305 Use Proxy.

This status code doesn't show up often in practice. In fact, it's so rare that many modern browsers don't even support it anymore. But if you're working with legacy systems, API debugging, or proxies, understanding 305 can be valuable.

In this blog post, we'll explore what the 305 Use Proxy status code means, how it was intended to work, reasons for its decline in usage, and its implications in modern web environments. If you ever need to simulate proxy-related responses like 305, you don't need to configure complex server setups. With Apidog, you can easily mock 305 responses, test proxy behaviors, and validate API requests in just a few clicks. Best part? You can download it for free and start experimenting today.

button

Now, let’s break down exactly what 305 Use Proxy means, why it exists, why it was deprecated, and how you can still test and learn from it.

What Is HTTP Status Code 305 Use Proxy?

The 305 Use Proxy status code is part of the HTTP/1.1 protocol defined in RFC 2616. It indicates that the requested resource must be accessed through the proxy specified in the response's Location header.

The 305 Use Proxy status code is an HTTP/1.1 response that tells the client:

"You can’t access this resource directly. Instead, you must connect through the proxy specified in the response headers."

Here's what a theoretical 305 response looks like:

HTTP/1.1 305 Use Proxy
Location: <http://proxy.example.com:8080>

The key here is the Location header. It specifies which proxy the client should use to reach the resource. This was designed to explicitly direct clients to intermediate proxy servers that might be required to access certain network locations or handle some special functionality.

For example, if a resource lives behind a corporate proxy or a caching service, a server could tell the client to go through that proxy for future requests.

The Origins of 305 and Why It Was Introduced

When the HTTP/1.1 specification was being developed, the web was growing quickly, and proxies were essential for security, caching, and access control.

The idea was simple:

At the time, this seemed like a clever way to enforce proxy usage for certain resources.

How Does 305 Use Proxy Work?

Here’s a step-by-step example of how 305 was supposed to function:

Client requests a resource directly:

GET /secret-data HTTP/1.1
Host: example.com

Server responds with 305 Use Proxy:

HTTP/1.1 305 Use Proxy
Location: <http://proxy.example.com:8080>

Client resends the request but this time through the proxy server specified.

This flow, in theory, allowed servers to enforce proxy-only access without manual client configuration. Unlike other redirections like 301 or 302 that point to alternative resource locations, 305 specifically instructs clients to route the request via a proxy.

Why Did 305 Use Proxy Exist?

Back in the early days of the web, managing network routes and proxies was less automatic and user-friendly than today.

305 was introduced to give servers a direct way to enforce proxy usage helping organizations control traffic flows, enforce caching policies, or route requests via filtering services.

The idea was to provide a standardized response that clients could understand and follow to perform proxying correctly.

Why 305 Was Deprecated (Security Concerns)

Unfortunately, theory and practice didn’t align well here.

The 305 Use Proxy status code was officially deprecated because of major security issues:

Because of these risks, browsers like Chrome, Firefox, and Internet Explorer eventually stopped supporting 305 entirely.

Today, it’s considered unsafe to rely on this mechanism.

Why Is 305 Use Proxy Considered Obsolete?

While 305 had a seemingly useful purpose, it is rarely used today for multiple reasons:

Because of these reasons, the HTTP/1.1 specification (RFC 7231) now discourages the use of 305, and many clients ignore it.

What Does a 305 Response Look Like?

A typical 305 response contains the status and a Location header with the proxy URL, such as:

textHTTP/1.1 305 Use Proxy Location: <http://proxy.example.com:8080/> Content-Length: 0

This instructs clients to use http://proxy.example.com:8080/ as the proxy for accessing the requested resource.

305 vs Other Redirection Status Codes

Understanding 305 in relation to other redirect codes helps clarify its unique role:

Status Code Description Client Action
301 Moved Permanently Permanent redirect to a new resource Redirect directly to new URL
302 Found Temporary redirect Redirect directly (GET or original method)
303 See Other Redirect and force GET method Redirect to GET resource
305 Use Proxy Use the proxy specified in Location header Route request through the proxy
307 Temporary Redirect Temporary, method-preserving redirect Redirect to new location with same method

While 301, 302, 303, and 307 redirect clients to different URLs directly, 305 specifically enforces a proxy path.

Real-World Examples of 305 Use Proxy

Even though browsers dropped support, some legacy environments once used 305.

Today, though, most of these use-cases rely on proxy configuration at the network or client level, not HTTP responses.

Modern Alternatives to 305 Use Proxy

Because 305 is mostly deprecated, today’s proxy usage is handled by:

These approaches are more secure and flexible than HTTP-enforced proxies with 305.

How Proxies Work in HTTP Communication

To understand 305 better, let’s step back and look at what proxies do:

305 was meant for forward proxy enforcement. Instead of the client choosing a proxy, the server dictated it.

Why Developers Rarely Encounter 305 Today

In practice, most developers will never see a 305 response in modern projects because:

That said, you may encounter 305 in old documentation, legacy codebases, or academic discussions.

How to Handle 305 Responses as a Developer

If you encounter 305 responses, for example, during legacy system integration or specific edge cases, here's what you should do:

305 Use Proxy and API Testing

If you're an API developer or tester, you might wonder:

"Why should I care about a deprecated status code?"

Good question! Even though 305 isn’t practical today, it teaches important lessons about:

For testing scenarios, you may still want to simulate 305 responses to see how your client reacts.

Testing 305 Use Proxy with Apidog

Apidog is a fantastic tool to help you deal with all kinds of HTTP status codes, including the rare 305.

Here's why Apidog makes sense for testing and debugging 305:

button

With Apidog, you don't need to set up an actual proxy server, just mock it and see what happens. Download Apidog for free to get hands-on experience with complex HTTP responses, making your workflow more effective.

SEO Implications of 305 Use Proxy

From an SEO standpoint, 305 is irrelevant today because search engine crawlers don’t support it.

If your server mistakenly returns 305, crawlers will likely treat it as an error and stop indexing the page.

This is yet another reason why you should avoid using 305 in production.

Best Practices for Handling Proxy Requirements

Since 305 is deprecated, what should you do instead?

Security Implications of Using 305

The main reason 305 usage faded away lies in security considerations:

When designing APIs or web services, do not rely on 305 for proxy enforcement.

Alternatives to 305 Use Proxy

Instead of relying on 305, developers now use:

Summary of Key Points About 305 Use Proxy

Conclusion: Why Understanding 305 Use Proxy Still Matters

The 305 Use Proxy status code is a fascinating piece of HTTP history. While it promised a neat way to enforce proxy usage, it ultimately failed due to security risks.

Even if you rarely encounter HTTP status code 305 Use Proxy today, it’s a meaningful part of HTTP history and proxy control. By grasping its purpose, behavior, and limitations, developers gain a broader understanding of how web communications and redirection mechanisms evolved.

Today, it’s more of a curiosity than a practical tool. But as a developer, understanding it helps you appreciate the evolution of web standards.

Moreover, if you ever work with legacy systems, proxies, or advanced API environments, knowing about 305 can save time troubleshooting unusual behavior.

And if you want to experiment with 305 in a safe, controlled environment, you don’t need to spin up old browsers or legacy systems. Just use Apidog to mock and test it easily. To help you explore HTTP status codes like 305 Use Proxy more effectively, download Apidog for free. Apidog equips you with powerful testing, debugging, and documentation tools to confidently manage your APIs and HTTP workflows no matter how complex. It’s the simplest way to build resilient, future-proof applications.

button

Explore more

Have Qwen's Latest Models Revolutionized Multimodal AI?

Have Qwen's Latest Models Revolutionized Multimodal AI?

Qwen unleashes groundbreaking AI advancements with Qwen-Image-Edit-2509 for precise image manipulation, Qwen3-TTS-Flash for ultra-fast speech synthesis, and Introducing Qwen3-Omni for seamless multimodal integration.

23 September 2025

What is DeepSeek-V3.1-Terminus ?

What is DeepSeek-V3.1-Terminus ?

DeepSeek-V3.1-Terminus elevates AI with superior agent tools, language stability, and benchmark gains. This update refines DeepSeek's hybrid MoE architecture for efficient reasoning and code tasks.

23 September 2025

How to Use Codex to Debug Code

How to Use Codex to Debug Code

Discover how Codex revolutionizes debugging with o3 models, Code Interpreter for execution, File Search for project navigation, and MCP for context. Plus, tips on API testing, documentation, and pricing for pro workflows.

23 September 2025

Practice API Design-first in Apidog

Discover an easier way to build and use APIs