2023.08.31
【徹底解説】ステータスコード3xxについて詳しく
- WEB
こちらの記事では300番代のステータスコード(以下、ステータスコード3xx)について解説を行います。
ステータスコード3xxは、「リダイレクト(転送)」が行われた事を表します。例えばブログのコンテンツを移転した場合に、移転先にリクエストを転送していることを表す用途があります。
httpステータスコードについての解説ははこちらの記事をご覧ください。
https://envader.plus/article/29
主要なステータスコード3xx
- 301 Moved Permanently
- 304 Not Modified
- 308 Permanent Redirect
301 Moved Permanently
301 Moved PermanentlyとはWebサイトの移転に伴って旧URLから新URLに変更した際に、恒久的なURL変更を表すステータスコードです。
例えばWebサイトのURLを「example.com/aaa」から「example.com/bbb」に変更した際に、旧URLから新URLへこの301を設定しておくと旧URLへアクセスがあっても自動的に新URLへ転送を行なってくれます。301設定を行なっているとSEO(Search Engine Optimization)の評価も引き継ぐ事が出来る為、サイト移転を行なった際は301設定を行う事をおすすめします。
304 Not Modified
304 Not Modifiedとは前回Webサイトを訪れた時からページの内容が未更新なことを表すステータスコードです。
サイトに初めてアクセスを行なった時にブラウザはキャッシュとしてWebサイトの情報を保存します。その後再度同じWebサイトにアクセスを行う場合はそのキャッシュデータを基にページを表示しますが、その際に前回アクセスした時からサイトの更新がされていない場合はキャッシュデータからWebサイトを表示し、ステータスコード304を返します。その為サーバーからのコンテンツダウンロードが不要となり、より高速にWebページを表示出来ます。
308 Permanent Redirect
308 Permanent Redirectとは301 Moved Permanentlyとほぼ同じでリクエストされたリソースのURLが恒久的に変更されたことを表します。
301との違いはHTTPメソッドをPOSTからGETに変えられないという事があります。古くから存在する301ではHTTPメソッドの変更が可能で不正にPOSTからGETに変更されてしまうリスクがありました。対して新しく出来た308ではHTTPメソッドの変更が出来ない為、301と同じく恒久的なURL変更をあらわしつつも301よりも厳格なステータスコードといえます。ただし旧バージョンのブラウザなど、一部未対応のブラウザも存在するため注意が必要です。
ステータスコード3xx一覧表
次が3xxステータスコードの一覧です。他のコードと比べてコード数も少なく、比較的覚えやすいコードですが内容が類似したコードも存在するため注意が必要です。
コード番号 | 意味 | 説明 |
---|---|---|
300 | Multiple Choices | リクエストしたリソースが複数存在し、ユーザやユーザーエージェントに選択肢を提示するときに返されます。 |
301 | Moved Permanently | リクエストされたリソースのURLが恒久的に変更されたことを表します。 |
302 | Found | リクエストされたリソースのURLが一時的に変更されたことを表します。 |
303 | See Other | リクエストされたリソースが別のURLに存在する場合に返されます。 |
304 | Not Modified | リクエストしたリソースが更新されていない場合に返されます。 |
305 | Use Proxy | プロキシを使用してリクエストを行わなければならない場合に返されます。 |
306 | Unused | 旧バージョンのHTTP仕様で使用されていましたが現在は使用されず、コードは予約されています。 |
307 | Temporary Redirect | 302とほぼ同じでリクエストされたリソースのURLが一時的に変更された事を表します。302との違いは使用するHTTPメソッドを変更してはならない点です。 |
308 | Permanent Redirect | 301とほぼ同じでリクエストされたリソースのURLが恒久的に変更されたことを表します。301との違いは使用するHTTPメソッドを変更してはならない点です。 |
まとめ
今回はHTTPステータスコード300番台の意味について解説をしました。
ステータスコード3xxはリダイレクト(転送)が行われた事を表します。
ステータスコード3xxはエラーコードと違い、画面上に表示がされない為あまり目にする機会がありません。ですが普段よく目にするリダイレクト(転送)時には裏で3xxのステータスコードが返されている為、一度ブラウザの開発者モードなどで確認をしてみましょう。
主要なステータスコード3xxとして次を学びました。
- 301 Moved Permanentlyはサイト移転時に恒久的な移転を表す事
- 304 Not Modifiedは前回訪問した時からサイトの更新がなく、キャッシュから表示されている事
- 308 Permanent RedirectはHTTPメソッドの変更が行えない、より厳格な恒久的URL変更を表す事
SEO(Search Engine Optimization)とはGoogleなどで検索をした時に検索上位に表示されるようにサイトを改善することです。
SEOのメリットとして検索流入数増加による売り上げの上昇や、検索上位に表示される=Googleがそのサイトを信用している証となりサイトの評価にも繋がります。検索上位に表示される為には検索エンジンがインデックスするURLはユーザーが閲覧できることが大前提となります。その為ステータスコードによるサイトの状況把握を行い、サイト移転事などは301設定を行う事でSEOの評価を引き継ぐようにしましょう。
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2023.02.12
【SEO対策】GoogleサーチコンソールとGoogleアナリティクスの違いとは? 登録から連携方法まで解説
今回はWebサイトの運営を行う上で必須なツールであるGoogleサーチコンソールとGoogleアナリティクスの登録、連携方法について解説を行います。
- WEB
- SEO
2022.12.11
【徹底解説】ステータスコード4xxについて詳しく
こちらの記事では、HTTPステータスコード400系について解説します。
- WEB
2023.01.07
【脱初心者】ログイン機能の仕組み説明できますか?
ログイン機能とは「ユーザーと、データーベースの持つユーザー情報を結びつけるために行う認証作業」です。
- WEB