307 Temporary Redirectとは?
307 Temporary Redirect HTTP ステータスコードは、ウェブページの場所が一時的に新しい URL に移動したことを知らせます。一時的なリダイレクトにもっと緩く使える 302 Found ステータスとは異なり、307 リダイレクトは新しい場所にリダイレクトするときに元のリクエストメソッドを厳密に維持します。
なぜ307ステータスコードを使うのか?
307ステータスコードは、リダイレクトが一時的なものであり、元のURLはまもなく使用できるようになることを示すために使用されます。リダイレクト中にリクエストメソッド(例: GET、POST)を保持し、クライアントのリクエストの詳細が変更されないようにすることが特に重要です。
307 ステータス・コードを使用する主な理由:
- リクエストメソッドの保持:リダイレクト処理中にリクエストメソッドが変更されないことを保証する。
- 一時的な移転:コンテンツが一時的に別のURLにあり、すぐに元のURLに戻ることを伝える。
- ユーザーと検索エンジンのわかりやすさ:ユーザーと検索エンジンに、リダイレクトが一時的なものであることを明確に伝える。
307ステータスコードの実装方法
307ステータスコードを実装するには、一時的なリダイレクトが必要なときにこの特定のコードで応答するようにWebサーバーを設定します。一般的なウェブサーバーでの設定方法は以下の通りです:
アパッチ
Apache の設定ファイルや .htaccess ファイルでは、Redirect
ディレクティブを使って 307 ステータスコードで一時的なリダイレクトを指定することができます:
リダイレクト 307 /old-page.html /new-location.html
Nginx
Nginxの設定ファイルでは、return
ディレクティブを使って307の一時リダイレクトを設定することができます:
location /old-page { return 307 /new-location; }.
307ステータスコードの意味
ユーザー・エクスペリエンス
307ステータスコードは、元のリクエスト方法を維持し、コンテンツが一時的に移動したことをユーザーに通知することで、シームレスなユーザー体験を保証します。ユーザーは中断することなくやり取りを続けることができます。
SEO対策
検索エンジンは307ステータスコードを認識し、リダイレクトが一時的なものであることを理解します。これは、元のURLのSEO価値を維持し、間もなく使用が再開されることを知らせるのに役立ちます。
HTTPメソッドの保存
307ステータスコードの主な特徴の1つは、HTTPメソッドを保持することです。302リダイレクトとは異なり、307リダイレクトはPOSTリクエストが元のURLに行われた場合、同じPOSTリクエストが新しいURLに行われることを保証します。
307ステータス・コードの使用に関するベスト・プラクティス
1.短期間のリダイレクションに使用
307ステータスコードは、元のURLがすぐに使用再開されると予想される短期的なリダイレクトに使用する必要があります。長期的または恒久的なリダイレクトには、301 Moved Permanentlyステータスコードの使用を検討してください。
2.正しい設定の確認
Webサーバーが307ステータスコードを使用するように正しく設定されていること、およびリダイレクト中にリクエストメソッドが保持されることを確認してください。
3.ユーザーと検索エンジンへの情報提供
リダイレクトが一時的なものであることをユーザーと検索エンジンに理解してもらいましょう。そうすることで、期待を管理し、元のURLのSEO価値を維持することができます。
結論
307 Temporary Redirect HTTP ステータスコードは、ウェブマスターが元のリクエストメソッドを保持したままウェブページの一時的な再配置を処理するための重要なツールです。307 ステータスコードを適切に使用することで、スムーズなユーザーエクスペリエンスを確保し、SEO の価値を維持し、HTTP 仕様に準拠することができます。307ステータスコードの利点を活用するには、適切な実装と明確なコミュニケーションが鍵となります。