意味
サーバーがクライアントに別の URL を GET で取得するよう指示します。典型的には POST の結果を表示するためです。
よくある原因
- フォーム送信後の Post/Redirect/Get
- API が長時間ジョブの結果を指す
対処法
クライアント・閲覧者の場合
Location に GET を送ります。これでユーザーが再読み込みしても二重送信になりません。
サイトや API の運営者の場合
フォームの POST が成功したら 303 で結果ページに送り、再読み込みでフォームが再送信されないようにします。
レスポンス例
HTTP/1.1
HTTP/1.1 303 See Other
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: /orders/1001
Content-Length: 0 仕様
よくある質問
› Post/Redirect/Get パターンとは?
POST の後にサーバーが結果ページへの 303 を返し、ブラウザーが GET で読み込むので、再読み込みや戻るが安全になります。
› 303 と 302 の違いは?
303 は常に「別の URL を GET せよ」を意味します。302 はメソッドを規定しませんが、ブラウザーは GET に切り替えます。