技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

HTTP Status Code 301

使用ケース

301 Moved Permanentlyは、恒久的にURLが移転された際、その新しいURLへのリダイレクトとして使用されます。
サイトが全く異なるURLに移転したケースはもちろん、SSL化してhttpからhttpsに変更された際にも使用します。

また、SEOの観点からURLを統一する(正規化)際にも使用します。
URLにwww有り・無しどちらでもアクセスできる状態だとすると、検索エンジンの評価が集約されません。
www以外にも、index.htmlの有り・無し、パラメータの有り・無しも考慮する必要があります。
URLの正規化を行う際には、301リダイレクトさせる記述をしたhtaccessファイルをサーバーにアップロードします。

動作

  1. クライアントが移転元のURLへのGETをサーバーにリクエス

  2. サーバーはクライアントへ301をレスポンス

  3. クライアントは移転先のURL(HeaderのLocationに記載)へのGETをサーバーにリクエス

  4. サーバーはクライアントへ200 Successをレスポンス


補足

POSTリクエストに対して301が返却されると、メソッドがGETに変更されます。
URLの正規化を設定をした場合に注意が必要です。
その設定に合わせていないviewやroutingは301を通してリダイレクトされます。 意図せずPOSTがGETに変わってしまい、データが送られません。

また、一度サーバーから301のレスポンスを受け取ると、
次回からは移転元のURLにアクセスしようとしても、サーバーへのリクエストを行わず、
クライアントは移転先のURLをリクエストを行います(キャッシュが削除されない限り)。


新人コーダーに知っておいて欲しいリダイレクトの基本|クロノドライブ

colo-ri.jp

www.eisbahn.jp