More
More
303 See Other
Fetch the result from another address with GET.
- Code
303- Reason phrase
- See Other
- Class
- 3xx Redirection
- Defined in
- RFC 9110 section 15.4.4
- Cacheable by default
- No
What it means
Redirection: the client has to take another step, usually following a Location header, to complete the request.
When a server should send it. After a POST, to send the browser to a page showing the result. This is the Post/Redirect/Get pattern: refreshing the result page then repeats a harmless GET instead of resubmitting the form.
Common causes. The standard reply after a form POST, so refreshing the next page does not resubmit the form.
What to do. Follow the Location header with a GET.
How clients and crawlers treat it
Browsers and HTTP clients. Clients always follow it with GET (or HEAD), whatever the original method was, and the redirect itself is not cached.
Google Search. Treated like 302: a weak signal that the redirect target should be canonical. Source: Google Search Central, How HTTP status codes, and network and DNS errors affect Google Search.
Caching. Not cacheable by default (RFC 9110 section 15.1 does not list it). A cache stores it only when the response says so with Cache-Control or Expires.
Example response
HTTP/1.1 303 See Other Location: /orders/1042/thanks See Other
How to send 303
location = /old-page {
return 303 https://example.com/new-page;
}
Redirect 303 /old-page https://example.com/new-page
header('Location: https://example.com/new-page', true, 303);
exit;
res.writeHead(303, { Location: 'https://example.com/new-page' });
res.end();
from flask import redirect
return redirect('https://example.com/new-page', code=303)
Change the paths to suit. In nginx, add_header needs always to apply to error responses.
Related codes
- 302FoundThe resource is temporarily at another address.
- 201CreatedThe request succeeded and created something new, usually named in the Location header.
- 307Temporary RedirectLike 302, but the client must repeat the same method and body at the new address.
All status codes · All 3xx codes
Names and numbers from the IANA HTTP Status Code Registry. Google Search behaviour as documented by Google Search Central.