メインコンテンツへ
短.be

307 リダイレクト

一時的な URL 転送でリクエストメソッドを保持する HTTP ステータスコード。 POST リクエストの転送に適している。

2025年7月15日 · 約 1 分で読めます

リダイレクト

307 リダイレクトは、一時的な URL 転送でありながら、元のリクエストメソッド (POST 、 PUT など) をそのまま保持する HTTP ステータスコードです。 HTTP/1.1 (RFC 7231) で定義されました。

307 が生まれた背景には、 302 リダイレクトの仕様上の曖昧さがあります。 302 の本来の定義では「リクエストメソッドを変更してはならない」とされていましたが、実際には多くのブラウザが POST を GET に変換してしまう実装が広まりました。 307 はこの問題を明確に解決し、「メソッドを絶対に変更しない一時的リダイレクト」として機能します。

実務で 307 が必要になる典型的なケースは、フォーム送信 (POST リクエスト) のリダイレクトです。たとえば、決済処理中にメンテナンスページへ一時的に転送する場合、 302 では POST データが失われるリスクがありますが、 307 なら POST ボディがそのまま転送先に送られます。

短縮 URL サービスでは、通常のリンククリックは GET リクエストなので 307 と 302 の違いは表面化しません。ただし、 API 経由で短縮 URL を POST リクエストの転送に使うケースでは、 307 の採用が適切です。関連書籍は Amazon でも探せます。

X でシェアはてブ

この記事は役に立ちましたか?

関連用語

関連記事

よくある質問

307 リダイレクトはどのような場面で使いますか?
POST リクエストを一時的に別の URL に転送する場合に使用します。 302 と異なり、リクエストメソッドが変更されないことが保証されています。
307 と 302 の違いは何ですか?
どちらも一時的なリダイレクトですが、 307 はリクエストメソッド (POST, PUT など) を保持します。 302 は仕様上メソッドを変更する可能性があり、実装によっては POST が GET に変わることがあります。

短縮 URL を作成してみませんか?

無料で URL を短縮する