HTTPQUERY
中文

303 See Other

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.

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: example.com

Response

HTTP/1.1 303 See Other
Location: http://example.com/confirmation/delete.html

303 vs 307

Both 303 and 307 are temporary redirects, but the method handling differs. A 303 response changes the request method to GET (or HEAD), regardless of the original method. A 307 response preserves the original method and body. Use 303 after a POST when the client needs to retrieve a result page. Use 307 when the exact request must repeat at the new location.

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