303 See Other
The HTTP 303 See Other status code is returned by the server to indicate the response to the request is available at a different URI. The Location header links to an alternative page, such as an upload confirmation message, rather than the recently uploaded resource. The method for the follow-up request is always GET.
Usage
The 303 See Other status code is typically returned after a POST, PUT, or DELETE request. The result of the operation is viewable at a different URL, and the client fetches the new resource with a GET request to the specified Location.
Note
Many servers historically send 302 when they mean 303, and many clients treat 302 as 303 by changing the request method to GET.
SEO impact
Google classifies 303 as a temporary redirect alongside 302 and 307. Googlebot follows the redirect but treats 303 as a weak signal the target is canonical.
Example
The client requests deletion of a specific resource. The server sends 303 See Other because the original location no longer holds a viewable resource and points to a confirmation page at the new Location.
Request
DELETE /tasks/314 HTTP/1.1
Host: www.example.re
Response
HTTP/1.1 303 See Other
Location: http://www.example.re/confirmation/delete.html
Code references
.NET
HttpStatusCode.SeeOther
Rust
http::StatusCode::SEE_OTHER
Rails
:see_other
Go
http.StatusSeeOther
Symfony
Response::HTTP_SEE_OTHER
Python3.5+
http.HTTPStatus.SEE_OTHER
Java
java.net.HttpURLConnection.HTTP_SEE_OTHER
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_SEE_OTHER
Angular
@angular/common/http/HttpStatusCode.SeeOther
Takeaway
The 303 See Other status code indicates the result of the request is viewable at an alternate Location, accessed with a GET method.
See also
- RFC 9110: HTTP Semantics
- Google: HTTP status codes and network errors
- 302
- 307
- Redirects
- HTTP status codes