DevKits
303

See Other

3xx Redirection

Last updated:

The response to the request can be found under a different URL, and the client should perform a GET to that URL.

Description

Used after a POST to redirect the client to a confirmation page via a GET request (the classic 'Post/Redirect/Get' pattern that prevents accidental form resubmission).

When to use

Return 303 after a successful POST when you want the client's next request to be a GET (not a re-POST).

Specification

RFC 9110 §15.4.4

Examples

HTTP response
HTTP/1.1 303 See Other
Content-Type: application/json

Location: /new-url
Node.js (Express)
res.status(303).redirect("/new-url");
Go (net/http)
w.WriteHeader(http.StatusSeeOther)
Python (Flask)
return jsonify({"error": "See Other"}), 303

Related status codes

All 3xx codes