意味
リソースは一時的に別の URL にあり、クライアントは同じメソッドとボディでそこへリクエストをやり直す必要があります。
よくある原因
- ブラウザー内部の HSTS による http から https へのリダイレクト
- API エンドポイントの一時的な移動
- ロードバランサーが別リージョンへリダイレクト
対処法
クライアント・閲覧者の場合
POST のボディも含めて同じリクエストを Location に送り直します。使っている HTTP クライアントが GET 以外で 307 に従うか確認します。
サイトや API の運営者の場合
POST、PUT、DELETE が GET に変わってはいけない場合は 302 の代わりに 307 を使います。
レスポンス例
HTTP/1.1
HTTP/1.1 307 Temporary Redirect
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: https://api.example.com/v2/upload
Content-Length: 0 仕様
よくある質問
› Chrome に 307 Internal Redirect と表示されるのはなぜ?
サイトが HSTS リストにあるため、Chrome がリクエスト送信前に自分で http を https に切り替えています。
› 307 と 308 の違いは?
どちらもメソッドを保持します。307 は一時的、308 は恒久的です。