1. HTTP (Hypertext Transfer Protocol)

  1. HTTP Status Codes

  1. 303 See Other
    1. Writing responses (servers)
    2. Reading responses (clients)
    3. Overview table
    4. Example
    5. Implementations
      1. Web browsers
    6. See also

303 See Other

The 303 (See Other) HTTP status code indicates that the result of the operation is available at another location. The client should interpret the request as completed, then make a new request to the resource identified by the Location header. The new request is made with GET (or HEAD).

See HTTP Redirection for more information on redirects.

Writing responses (servers)

Servers should typically produce 303 See Other in response to POST requests, so that after a browser has submitted a form, the browser can make a subsequent safe request with the result. If the server were to write a response to POST directly, the user would be asked to re-submit the form if they refreshed the page or navigated back in history. Using a 303 redirect avoids this. This is called a POST-redirect-GET flow.

If instead the resource has moved and the client needs to re-make the same request (with the same method and headers) at a different URI, use 307 (Temporary Redirect) or 308 (Permanent Redirect).

Reading responses (clients)

A 303 See Other will be accompanied by a Location header that indicates the next page that should be loaded. This page is requested with a GET request; unless the original request was HEAD, in which case user agents may wish to make another HEAD request.

The request-URI should not be pushed to the history, so that navigation brings the user to the redirect target, instead of re-issuing the request that caused the 303. If the user intends to re-issue the request, they can re-submit the form.

Overview table

Name
303
Message
303 See Other
Description
The request was completed and the result is available at another location.
Specification
RFC 7231: HTTP/1.1 Semantics and Content ยง6.4.4. 303 See Other

Example

HTTP/1.1 303 See Other

Implementations

Web browsers

Most Web browsers will not save a page returning 303 in the history stack; servers may take advantage of this when handling POST requests to ensure that queries will not be re-submitted by users navigating backwards. This is called a Post-Redirect-Get workflow.

See also