305 Use Proxy
A deprecated redirect telling the client to use a specific proxy. It is no longer used because of security concerns and is ignored by modern browsers.
The requested resource must be accessed through the proxy given in the Location header.
What HTTP 305 Use Proxy Means
The requested resource must be accessed through the proxy given in the Location header.
A deprecated redirect telling the client to use a specific proxy. It is no longer used because of security concerns and is ignored by modern browsers.
Common Causes
- Legacy servers requiring a proxy
- Obsolete configuration
How to Fix It (For Visitors)
- No action needed - modern browsers ignore this code
How to Fix It (For Developers/Admins)
- Do not use 305 - it is deprecated and unsupported
- Configure proxies through standard client/network settings instead
Returning a 305 Use Proxy (Code Examples)
If you build APIs or web apps, here is how to send an HTTP 305 response and how to test for it:
Node.js (Express)
app.get('/resource', (req, res) => {
res.status(305).json({ error: 'Use Proxy' });
});
Python (Flask)
@app.route('/resource')
def resource():
return jsonify(error='Use Proxy'), 305
PHP
<?php
http_response_code(305);
header('Content-Type: application/json');
echo json_encode(['error' => 'Use Proxy']);
Check the status with curl
curl -I https://example.com/resource
# Look for: HTTP/1.1 305 Use Proxy
Frequently Asked Questions
What does HTTP 305 Use Proxy mean?
A deprecated redirect telling the client to use a specific proxy. It is no longer used because of security concerns and is ignored by modern browsers. In short: The requested resource must be accessed through the proxy given in the Location header.
How should I handle an HTTP 305 Use Proxy response?
Do not use 305 - it is deprecated and unsupported. Configure proxies through standard client/network settings instead.
Official Specification
The 305 Use Proxy status code is defined in RFC 9110 Section 15.4.6.