303 See Other

HTTP response status code 303 See Other is returned by the server to indicate that the supplied Location does not link directly to the recently uploaded resource. Rather, it links to an alternative page such as an upload confirmation message. The HTTP method used for the second HTTP request is always a HTTP GET method.

Usage

The 303 See Other status code is typically returned as the result of a POST, PUT, or DELETE HTTP request. Essentially, it means that the result of the HTTP request can be found at a different URL. To fetch the new resource, the client must use a GET HTTP request with the specified Location.

Note

Many clients are non-compliant with the current specification and instead use the 302 Found HTTP response for this purpose.

Example

In the example, the client requests that a specific resource be deleted from the server. In response, the server sends the 303 See Other status code because it does not contain a viewable resource at the original Location. Rather, it points to a confirmation message at the newly specified 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 that the result of the HTTP request is viewable at an alternate Location, which is expected to be accessed using a HTTP GET method.

See also

Last updated: August 2, 2023