303 See Other
Redirect to another resource using GET method.
The response to the request can be found at another URL using GET.
What HTTP 303 See Other Means
The response to the request can be found at another URL using GET.
Redirect to another resource using GET method.
Common Causes
- POST/PUT/DELETE redirect to GET resource
- Form submission redirect
What Visitors Should Do
- Browser should automatically redirect
Notes for Developers
- Use after POST to redirect to GET resource
- Prevents form resubmission
303 vs Other Redirects
| Code | Permanent? | Method on redirect | Typical use |
|---|---|---|---|
| 301 | Yes | May change POST to GET | Moved pages, domain or HTTPS migrations |
| 302 | No | May change POST to GET | Short-term moves, login redirects |
| 303 | No | Always GET | Redirect after a form POST |
| 307 | No | Must keep method and body | Temporary moves of APIs or forms |
| 308 | Yes | Must keep method and body | Permanent moves of APIs or forms |
RFC 9110 allows clients to switch a POST to GET on a 301 or 302 for historical reasons, which is why 307 and 308 exist.
Returning a 303 See Other (Code Examples)
If you build APIs or web apps, here is how to send an HTTP 303 response and how to test for it:
Node.js (Express)
app.get('/resource', (req, res) => {
res.status(303).json({ error: 'See Other' });
});
Python (Flask)
@app.route('/resource')
def resource():
return jsonify(error='See Other'), 303
PHP
<?php
http_response_code(303);
header('Content-Type: application/json');
echo json_encode(['error' => 'See Other']);
Check the status with curl
curl -I https://example.com/resource
# Look for: HTTP/1.1 303 See Other
Frequently Asked Questions
What does HTTP 303 See Other mean?
Redirect to another resource using GET method. In short: The response to the request can be found at another URL using GET.
How should I handle an HTTP 303 See Other response?
Use after POST to redirect to GET resource. Prevents form resubmission.
Official Specification
The 303 See Other status code is defined in RFC 9110 Section 15.4.4.