303 See Other は、Location ヘッダーで示される別のリソースを、GET(または HEAD)で取得するようクライアントに伝えます。元のリソースが移動したことを示すものではなく、答えを持つ別のリソースを指し示すものです。
主な用途は Post/Redirect/Get パターンです。フォームが POST で送信されると、サーバーは確認ページの URL を付けて 303 で応答し、ブラウザーはそのページを GET で読み込みます。これにより、ページを再読み込みしたり「戻る」を押したりしても、フォームが再送信されません。303 をたどるとき、ブラウザーは HEAD 以外のすべてのメソッドを GET に切り替え、リクエストボディを破棄します。
303 はデフォルトではキャッシュされません。GET に対する 303 は、要求された対象そのものの表現をサーバーが持っておらず、それを説明するものが別の URL にあることを意味する場合もあります。これは Linked Data で使われるパターンです。
レスポンス例
HTTP
HTTP/1.1 303 See Other
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: /orders/8412/confirmation
Content-Length: 0 SEO とリダイレクトチェック
よくある原因と主な用途
- Post/Redirect/Get:フォームの処理が、
POSTの後にサンクスページや注文確認ページへリダイレクトする場合。 - API がジョブを受け付け、結果を持つ別のリソースをクライアントに案内する場合。
- Linked Data:現実世界のものを指す URI が、それを説明するドキュメントにリダイレクトする場合。