HTTP 303 — See Other
HTTP 303
See Other
The request succeeded; now go and GET a different URL to see the result.
What 303 actually means
Designed for the aftermath of a form submission. The POST was handled, and rather than returning a page directly — which leaves the browser able to resubmit on refresh — the server redirects to a result page that the browser fetches with GET. This is the Post/Redirect/Get pattern, and it is why "confirm form resubmission" prompts have largely disappeared from well-built sites.
Common causes
- A form POST completed and the server redirected to a confirmation page
- An API used Post/Redirect/Get to avoid duplicate submissions
- A long-running job redirected to its status page
If you're just trying to view the page
- Nothing — your submission went through and you are being shown the result
- This is the pattern that stops a page refresh from re-charging your card, so seeing it is good news
If it's your site
- Use 303 rather than 302 after a POST; it is the code that actually means "change the method to GET"
- The target should be a plain, safe, refreshable page
- Not understood by HTTP/1.0 clients, which is irrelevant in practice today
Reference
- Status code
- 303
- Reason phrase
- See Other
- Category
- 3xx — Redirection
- Cacheable by default
- No
- Defined in
- RFC 9110 §15.4.4
Common questions
- What does HTTP 303 mean?
- The request succeeded; now go and GET a different URL to see the result. Designed for the aftermath of a form submission. The POST was handled, and rather than returning a page directly — which leaves the browser able to resubmit on refresh — the server redirects to a result page that the browser fetches with GET.
- How do I fix a 303 error?
- Nothing — your submission went through and you are being shown the result
- Is 303 a client error or a server error?
- 303 is in the 3xx range, which means redirection. It is not an error at all.
Related pages
- 301 Moved Permanently The URL has permanently moved and clients should use the new one from now on.
- 302 Found The resource is temporarily at a different URL; keep using the original one.
- 304 Not Modified Your cached copy is still current, so the server is not sending the file again.
- 307 Temporary Redirect Like 302, but the client must repeat the request with the same method and body.
- 308 Permanent Redirect Like 301, but the client must repeat the request with the same method and body.
- 300 Multiple Choices The requested URL has several representations and the server is not choosing bet
- 305 Use Proxy A deprecated code telling the client to repeat the request through a specific pr
- 306 (Unused) A reserved code that was used in an old draft and is now permanently unassigned.