/ HTTP Status Codes

305 Use Proxy

The HTTP Status Code 305, known as “Use Proxy,” is a non-standard status code that informs the client that the requested resource must be accessed through a specified proxy server. This status code is part of the HTTP/1.1 specification and is defined in RFC 2616.

Overview

When a client sends a request to a server, the server may return a 305 status code to indicate that the requested resource is only accessible through a proxy. The server includes the required proxy’s URI in the response’s Location header. The client must then resend the request to the specified proxy to access the resource.

It’s essential to note that the 305 status code is deprecated due to security concerns and has been removed from the HTTP/1.1 specification in RFC 7231. Most modern browsers do not support this status code, and it’s generally not recommended for use.

Example

Here’s an example of an HTTP request and the corresponding 305 Use Proxy response:

Request

GET /example/resource HTTP/1.1
Host: www.example.com

Response

HTTP/1.1 305 Use Proxy
Location: http://proxy.example.org:8080
Content-Type: text/html; charset=utf-8
Content-Length: 123

In this example, the server responds with a 305 status code, indicating that the client must use the specified proxy (http://proxy.example.org:8080) to access the requested resource. The client should resend the request to the proxy server.

Considerations

  • As mentioned earlier, the 305 status code is deprecated and removed from the HTTP/1.1 specification. It’s generally not recommended for use due to security concerns.
  • Most modern browsers do not support the 305 status code. For instance, Google Chrome and Mozilla Firefox will ignore the 305 response and treat it as an error.
  • If you need to implement proxy functionality, consider using alternative methods like configuring the client to use a proxy or using a reverse proxy server.
  • The 305 status code should not be confused with the 306 status code (Switch Proxy), which is also deprecated and unused.

Summary

In summary, the HTTP Status Code 305 (Use Proxy) is a deprecated and non-standard status code that informs the client to access the requested resource through a specified proxy server. Due to security concerns and lack of support in modern browsers, it’s generally not recommended for use. Instead, consider alternative methods for implementing proxy functionality.

Was this helpful?

Thanks for your feedback!