308 Permanent Redirect 永続的なリダイレクトを示すHTTPステータスコード

スポンサーリンク
スポンサーリンク

308 Permanent Redirectについて

308 Permanent Redirectの概要

永続的なリダイレクトを示す(リクエストメソッド保持)HTTPステータスコード

308 Permanent Redirect

概要 308 Permanent Redirectは、リクエストされたリソースが恒久的に別のURLで利用可能であることを示すHTTPステータスコードです。このコードは、301 Moved Permanentlyに似ていますが、クライアントがリクエストメソッド(POST、PUTなど)をそのまま使用する必要がある点が異なります。

クライアントは提供された情報を元に選択を行い、適切なリソースにアクセスする必要があります。

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ステータスコードを利用できます。