// http 3xx · redirection
HTTP 303 See Other
Fetch the resource with a GET at another URL.
What HTTP 303 See Other means
303 See Other tells the client to retrieve the resource with a GET at the URL in the `Location` header, regardless of the original method. It's the classic Post/Redirect/Get pattern that stops a form from being resubmitted on refresh.
Which category is it?
303 is a 3xx code — Redirection. 3xx means further action is needed to complete the request, usually because the resource lives at a different URL.
Example 303 response
POST /checkout HTTP/1.1
HTTP/1.1 303 See Other
Location: /orders/981How to check a 303
- After a form POST, confirm the response is 303 with a Location header pointing to a page that can be fetched with GET.
- Refresh the resulting page: it should reload via GET without a browser warning about resubmitting the form.
- Make sure the redirect target does not itself redirect back to the form, which would create a loop.
303 compared with similar codes
- 302: 302 behavior for POST varies by client; 303 states clearly that the next request must be a GET.
- 307: 307 keeps the original method and body. 303 deliberately switches to GET.
303 See Other: common questions
What is the Post/Redirect/Get pattern?
After handling a POST, the server replies with a 303 redirect to a result page. The browser then does a GET, so reloading the page does not submit the form twice.