HTTP 303 See Other โ Meaning, Causes & How to Fix
The response to the request can be found under another URL using a GET method.
- Code
- 303
- Name
- See Other
- Class
- 3xx Redirection
- Specification
- RFC 9110 ยง15.4.4
- Cacheable by default
- Only with explicit Cache-Control / Expires
What HTTP 303 means
303 See Other tells the client to fetch a different URL with GET. It is the correct response after a form submission (the Post/Redirect/Get pattern): reloading the result page then does not resubmit the form.
Common causes
- A POST form handler redirecting to a confirmation or result page.
- An API pointing to a separate resource that describes the result.
How to fix it
For site owners
- Use 303 after POST so refreshing the page does not repeat the action (no duplicate orders).
For visitors & developers
- Always follow a 303 with GET, whatever the original method.
SEO impact
Little SEO relevance: it is used after form submissions, which crawlers do not perform. Use 301/308 for moved pages.
Example 303 response
HTTP/1.1 303 See Other
Location: /orders/1042/confirmation
Content-Length: 0
Related status codes
Check or look up another code
Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.
Open HTTP Status Codes tool โAll status codesFrequently asked questions
What does HTTP 303 mean?
HTTP 303 See Other is a 3xx Redirection status code. The response to the request can be found under another URL using a GET method.
Why use 303 instead of 302 after a form?
303 explicitly requires the follow-up request to be a GET, which is exactly what Post/Redirect/Get needs. 302 left this ambiguous historically.
Which specification defines 303?
It is defined in RFC 9110 ยง15.4.4.
Is a 303 response cacheable?
Not by default. A 303 response is only stored by caches when it carries explicit freshness information such as Cache-Control: max-age or Expires.