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

307 リダイレクト

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

2026年9月12日 · 約 1 分で読めます

リダイレクト

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

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

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

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

X でシェアはてブ

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

関連用語

関連記事

よくある質問

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

知識を、実際のリンクで。

無料で URL を短縮する