302 Foundとは
302 Found(スリー・オー・ツー・ファウンド)は、資源が一時的に別URLにあることを示すリダイレクトのステータスです。
応答のLocation ヘッダーで現在の行き先を示します。リダイレクト先は後で変わり得るため、クライアントはブックマークや将来の要求に元のURIを使い続けるのが基本です。
302は「資源が見つかった」という検索成功コードではありません。歴史的な理由句を持つ、一時リダイレクトのHTTPステータスです。

302が向く場面
広報施策、地域別入口、試験中の行き先などを元URIから切り替えます。
認証後に元の安全なパスへ戻す設計と、第三者サイトへ誘導される公開リダイレクトへの対策が必要です。
メンテナンスや段階移行で正本URIを変えず、行き先だけ変えます。
キャッシュとCookieを考慮し、意図しない行き先の固定化を避けます。
302・303・307をメソッドで分ける
| コード | 一時性 | 元要求のメソッド |
|---|---|---|
| 302 | 一時 | POSTからGETへ変える利用者エージェントがある |
| 303 | 一時・別表現を参照 | GETまたはHEADで取得する意図を明示 |
| 307 | 一時 | メソッドと内容を変更しない |
フォーム送信後に結果ページをGETで見せたいなら303、アップロードAPIをメソッド・本文ごと一時移動したいなら307が意図を正確に表せます。互換性だけで302を選ばず、クライアントに求める次の要求を決めます。
キャッシュへ一時性を伝える
302は明示的な新鮮さ情報があればキャッシュできます。リダイレクト先を利用者・地域・認証状態で変える場合は、Cache-ControlとVary、共有キャッシュでの個人化データ混在を検討します。
Locationが外部入力から作られるログインリダイレクトでは、許可ホスト・パスを検証します。攻撃者のサイトへ302する公開リダイレクトはフィッシングやトークン漏えいに悪用されます。
ループと連鎖を監視する
A→B、B→Aのループや多段リダイレクトは、ブラウザーの上限・遅延・Cookieの適用範囲へ影響します。ブラウザーのネットワーク管理画面やコマンドラインクライアントで、ステータスとLocationを一段ずつ記録し、スキーム・ホスト・パスの変換を調べます。
302は現在の要求を一時的な別URIへ導き、将来も元URIを入口として残すステータスです。メソッド変更、キャッシュ、オープンリダイレクト、転送ループを考慮し、303・307・301と意図を分けます。
一時的なURI移転とメソッド処理:RFC 9110「302 Found」