303 See Other

The result of the request is at another URL that should be fetched with GET, whatever method was originally used.

Status

HTTP/1.1 303 See Other

Details

303 is the post-redirect-get pattern in protocol form. A POST creates or updates something, the server answers 303 with the location of the result, and the client fetches it with GET. Refreshing the resulting page is then harmless because it repeats a GET rather than the original POST.

Unlike 302, the method rewrite is required rather than tolerated, which makes 303 the correct choice whenever you deliberately want the follow-up request to be a GET.

Headers

Common causes

Usage notes

For clients

For servers

Examples

Post, redirect, get

HTTP request

POST /orders HTTP/1.1
Host: shop.example.com
Content-Type: application/x-www-form-urlencoded

sku=ABC&qty=2

HTTP response

HTTP/1.1 303 See Other
Location: /orders/5521/confirmation

Specifications

See also