INDEX
308 Permanent Redirectについて
308 Permanent Redirectの概要
永続的なリダイレクトを示す(リクエストメソッド保持)HTTPステータスコード | ||
308 Permanent Redirect 概要 308 Permanent Redirectは、リクエストされたリソースが恒久的に別のURLで利用可能であることを示すHTTPステータスコードです。このコードは、 |
||
クライアントは提供された情報を元に選択を行い、適切なリソースにアクセスする必要があります。 |
308 Permanent Redirectはどのような時に使用されるか
- リソースが恒久的に別のURLに移動した場合
- リクエストメソッドを保持したまま恒久的にリダイレクトする必要がある場合
- APIやフォーム送信などでメソッドを変更せずにリダイレクトする際
SEOに関する影響
308リダイレクトは恒久的なリダイレクトであるため、SEOへの影響は301 Moved Permanently
とほぼ同じです。検索エンジンは新しいURLをインデックスし、旧URLのリンク評価を新しいURLに引き継ぎます。ただし、リクエストメソッドを変更せずにリダイレクトできる特性があるため、APIやフォーム処理の場面で有効です。
308 Permanent Redirectの事例
フォーム送信の恒久的なリダイレクト
POST /submit-form HTTP/1.1 Host: example.com
レスポンス例:
HTTP/1.1 308 Permanent Redirect Location: https://example.com/new-form-endpoint
解説: フォームの送信先が変更された際に、クライアントがPOSTメソッドを保持したまま新しいURLにリダイレクトされるように設定します。これにより、フォームの再送信やデータの破損を防ぎます。
APIエンドポイントの移行
PUT /api/v1/resource/123 HTTP/1.1 Host: example.com
レスポンス例:
HTTP/1.1 308 Permanent Redirect Location: https://api.example.com/v2/resource/123
解説: APIのバージョン変更や構造変更に伴い、リソースのURLを新しいエンドポイントに移行する場合に使用します。リクエストメソッド(PUT)を保持したままリダイレクトできるため、APIクライアントとの互換性が保たれます。
利用における注意点
308リダイレクトを設定する際の注意点:
- リクエストメソッドを保持する必要性を考慮
リダイレクト先のリソースが元のリクエストメソッドをサポートしていることを確認してください。 - 正確な
Location
ヘッダーの指定
クライアントが正しいリソースにアクセスできるよう、リダイレクト先のURLを正確に指定してください。
関連するHTTPステータスコードとの比較
308 Permanent Redirectと関連性のあるステータスコードについて解説します。
- 301 Moved Permanently: 恒久的なリダイレクトを示しますが、リクエストメソッドがGETに変更される場合があります。
- 307 Temporary Redirect: 一時的なリダイレクトであり、元のリクエストメソッドを保持します。
これらの違いを理解することで、適切な用途で308ステータスコードを利用できます。