HTTP Status Codes

303 See Other

Redirects the client to retrieve the result at another URL using GET. The backbone of the Post/Redirect/Get pattern that stops duplicate form submissions.

What it means

303 See Other tells the client to make a GET request to the Location URL, regardless of the original method. After a POST that creates or updates something, redirecting with 303 to a confirmation page means a browser refresh re-fetches the page rather than re-submitting the form.

HTTP RESPONSE
HTTP/1.1 303 See Other
Location: /orders/8842/confirmation

Why it matters

  • Post/Redirect/Get eliminates the duplicate-submission problem and makes results bookmarkable.
  • It cleanly separates the action (POST) from viewing its outcome (GET).

Common mistakes

  • Using 302 instead of 303 after a POST and relying on undefined method-change behaviour.
  • Redirecting to a URL that itself requires the POST body, which is gone after a GET redirect.

How WebInspect checks this

  • WebInspect traces the redirect and shows the method and status at each hop.