1. パーソルテクノロジースタッフのエンジニア派遣
  2. 【はたラボ】派遣のニュース・仕事情報
  3. IT/Web派遣コラム
  4. Webにかかわる人なら覚えておきたいHTTPステータスコード

Webにかかわる人なら覚えておきたいHTTPステータスコード

IT/Web派遣コラム この記事は約 11 分で読めます。

サイトを運用するWebディレクターやサイトの開発者、所有者は日々Webのトラブルと格闘しているのではないしょうか。エラーの際、チェックすべき項目にHTTPステータスコードがあります。この記事では代表的なエラーコードとその対処法、そしてステータスコードの一覧をまとめました。

 

 

HTTPステータスコードはサーバーからのレスポンス状態

ブラウザからHTTPリクエストをして、サーバーからHTTPレスポンスが返される。これを繰り返して該当Webページが表示される、というのが通常のWebアクセスの流れです。

しかし、Webページがうまく表示されない場合はそれを阻害する原因があると考えられます。そんなときに確認する項目のひとつにHTTPステータスコードという3桁の番号があります。

このステータスコードは、サーバーから返されるHTTPレスポンスの状態を示すもの。Webのディレクターや開発者はHTTPステータスコードを確認してエラーの種類にあたりをつけ、デバック作業などを行います。つまり、うまくいかない理由を特定するためにも、HTTPステータスコードを知っておくことは重要なのです。

ちなみHTTPステータスコードは、HTTPレスポンスの1ライン目に表示されています。以下は正常に表示されている場合のステータスコードなので、通常のWebの閲覧時に目にすることはほとんどありません。

HTTP/1.1 200 OK
Date: Mon, 14 Dec 2020 07:51:31 GMT
Content-Type: text/html;charset=UTF-8
Set-Cookie:

ChromeやFirefoxなどのモダンブラウザにはステータスコードの確認機能があります。

Chromeでは、以下の手順でステータスコードを確認いただけます。

  1. 該当Webサイトを開きます
  2. F12キーを押し、開発者モードを開きます
  3. Elements、Consoleなどが並ぶタブから「Network」を選択します
  4. ステータスコードが表示されていないときは更新をかけます

 

HTTPステータスコードは5つのクラスに分けられる

HTTPスタータスコードは100番台から500番台まであり、5つのクラスに分かれています。Webディレクターが意識しておくべきは300番台から500番台と考えてもいいでしょう。

1xx 情報レスポンス

「処理継続中」を意味します。サーバー側で処理に時間がかかっている状態です。

2xx 成功レスポンス

処理が成功して正常にレスポンスできた状態。ブラウザ上で正しくWebサイトが表示されていれば、ほとんどがこのステータスコードです。

3xx リダイレクションメッセージ

ブラウザのリクエストが完了できていない状態、追加の処理を必要としている状態です。この場合の追加処理とは、サイトリニューアルでURLが変更された場合に新しいURLに転送するリダイレクトの処理などです。

4xx クライアントエラー

ブラウザのリクエストが処理できない状態です。リクエストされたページ自体が見つからないというコードです。よく目にする404エラーなどはこの代表格です。

5xx サーバーエラー

サーバー側に問題があり、エラーになっている状態です。何らかの事情でサーバーが正常にレスポンスを返せなかったり、動いていなかったりすることを示します。

 

Webディレクターが覚えておきたいHTTPステータスコード一覧表

1xx

情報レスポンス 102 Processing サーバーはリクエストを受け取って処理を「継続」しています。

2xx

成功レスポンス 200 OK リクエストが「成功」したことを示します。普通にみられるサイトはこのレスポンスです。
201 Created リクエストが「成功」し、新しいリソースを作成したことを意味します。

3xx

リダイレクト 301 Moved Permanetly 指定したリソースが新しいURLに恒久的に移動したことを示します。
302 Found 一時的なURL変更で、現在、指定したリソースがそこにないことを示します。
303 See Other クライアントのリクエストに対し、別のURLで該当リソースを取得するよう促しているものです。
307 Temporary Redirect リクエストしたURLが存在せず、別のURLにリクエストを再送信する必要があることを示します。

4xx

クライアントエラー 400 Bad Request リクエストの構文が間違えていることを示します。また、ほかの4xx系エラーコードに適さないエラーの場合にも利用します。
401 Unauthorized 適切な認証情報を持たずにリソースにアクセスしようとしたことを示します。
403 Forbidden 401以外の理由でリソースを操作できない状態を示します(特定のIPアドレスのみからアクセスできる場合など)。
404 Not Found 指定したリソースが見つからなかったことを示します。

5xx

サーバーエラー 500 Internal Server Error サーバー側でエラーが発生したことを示します。また。ほかの5xx系エラーコードに適さない場合もこのステータスコードが返されます。
503 Service Unavailable メンテナンスやアクセス集中などでサービスを提供できないことを示します。
504 Gateway Timeout プロキシが上流サーバーにリクエストを送っても接続できなかったことを示します。一時的なDNS異常の可能性もあります。

参考:Webを支える技術(山本陽平)

 

おもなステータスコードの設定や対応

すべてのステータスコードを覚える必要はありません。しかし、問題が発生したときにステータスコードを用いながら開発側やサーバー管理者とコミュニケーションを取ると、解決までの道筋がつきやすくなります。そこで、Webディレクターが意識しておきたい代表的なステータスコードやその設定、エラーコードに対しての対応を説明します。

301リダイレクトと302リダイレクトの使い分け

Web運営にかかわると頻繁に目にするHTTPステータスコードに「301 Moved Permanently」と「302 Found」という代表的なリダイレクト設定があります。

リダイレクトとは、このページを訪れたユーザーを別のURLに自動的に転送する仕組みのこと。郵便の転送にも似ているかもしれませんね。

ユーザーを正しいURLに案内してファンを引き継ぐということはもちろん、ここまでに勝ち取ってきたページの評価もリダイレクト先に引き継ぐことができます。SEOを考えれば、当然必要な対応です。なお、リダイレクトの設定は、サーバー側で行うのが一般的です。

では、「301 Moved Permanently」と「302 Found」の違いは何でしょうか?

  • 301 Moved Permanently 恒久的にURLが変更されたとき
  • 302 Found 一時的にURLが変更されたとき

本来は、URLを変更せずに使い続けることがSEOにおいても理想的です。ただし、やむを得ず変更しなければならない場合もあります。

たとえば、企業サイトをイメージしてみてください。企業再編でホールディングス化したり、または分社化したりすると、URLが変わるケースが想像しやすいと思います。この場合は、恒久的にURLが変更されてしまうため、301 Moved Permanentlyでリダイレクトを設定します。

一方、メンテナンスなどで一時的に別のURLでリソースを公開する場合は302 Foundで設定します。最近はレスポンシブデザインが主流となっていますが、PCとスマートフォンで別々にページを用意している場合の転送にも302 Foundでリダイレクトを設定します。

オリジナルの404 Not Foundページを用意する

サイトのURLが存在しないときは、サーバーは404 Not Foundを返します。普段、ネットサーフィンをしていても目にすることは多いと思います。エラーが出たことだけを示すシンプルなページだけでは、ユーザーが離脱することも可能性もありますし、またサイトイメージとしてもあまりよくありません。そんなときは、オリジナルの404ページを作成することをおすすめします。サイト全体のデザインに合わせたページならイメージを損なうリスクも減少し、ユーザーが次に行うべきアクションを明示することもできるので、離脱を防ぐこともできます。

なお、サイト内に404ページが存在したとしても、Googleの評価には影響しないということはGoogleからも発表されています。とはいえ、早めに対策しておくに越したことはありません。

厄介な存在!? ソフト404エラーとは

ソフト404エラーとは、ブラウザ上では「404 Not Found」を示すページや、コンテンツがほとんどないようなページが表示されているのに、「200 OK」というHTTPレスポンスが返されている状態のこと。「表示」と「ステータスコード」が異なっているという奇妙な状態で、この現象はコンテンツを自動生成するタイプで起こりがちです。

たとえば、ECサイトや大量の物件情報が格納されているデータベースサイトなどがその代表格です。これら自動生成ページの多いサイトでは、先ほどのオリジナル404ページを用意しておくものですが、それを表示した際に「200 OK」を返してしまうということがあるのです。

ユーザーへの影響は少ないのですが、検索エンジンは実体のないURLをクロールしてしまい、検索結果に反映してしまう、ということになります。SEOへの影響はほとんどない、というGoogleの発言もありますが、ユーザーに不利益を与える原因を残していれば、間接的にSEOに影響していく可能性もゼロではありません

また、この事態を招く背景には、プログラム改修時に404と200を逆にしてしまったということも考えられます。つまり、きちんと表示されているのに、404 Not Foundというステータスコードを返してしまっているページが存在する可能性もあるということ。

対処法としては、Googleが提供するGoogle Search Consoleを使い、ソフト404エラーを発見して対応しましょう。

  1. Google Search Consoleにアクセス
  2. インデックスから「カバレッジ」を選択
  3. 「除外」を選択するとレポート表示

このように表示されます。該当ページがはっきりしたら、プログラムでのミスなのか、サーバーの設定ミスなのかを原因をはっきりさせて対応しましょう。

5xx番台サーバーエラーに対しては、どう対応すべき?

500 Internal Server Errorが返されたとき、サーバー側に何らかのエラーが発生したことを示します。原因が特定しきれない、という点で厄介なエラーです。

サーバーでWordPressなどのCMSを実行している場合、インストールの失敗、互換性の不具合、サーバーのアクセス権限の設定ミスなどが疑われます。この場合はひとつずつトラブルを潰して解決します。

  1. 新たにインストールしたり更新したりした、ソフトウェアやプラグインの互換性を確認する
  2. サーバー権限が正しく設定されているかを確認する
  3. スクリプトが無限ループしてタイムアウトしていないか確認する(WordPressで報告多数)

などが代表的な原因として疑われます。それでも問題点がはっきりしないときはサーバー管理者に問い合わせましょう。

503 Service Unavailableが返されたときは、アクセス集中などが原因として考えられるので、待つしかありません。抜本的な解決を目指すなら、レンタルサーバーではなく専用サーバーを用意するなどコストをかけるのが近道です。

また、504 Gateway Timeoutが返されたときは、一時的なDNS異常の可能性もあります。DNSサーバーエラーについては、以下の記事に詳しくまとめてありますので、ご参照ください。

「DNSサーバーは応答していません」というエラーの原因と対処方法

 

HTTPステータスコードを理解して早めの課題解決を

エラーコードが返されたときは、すぐに対応するのがおすすめです。エラーコードを放置しておけばいい影響はありません。

先述のように、ソフト404エラーは実体のないページを検索エンジンにクローリングさせることになります。サイト内に多くのソフト404のページが多ければ多いほど、クロールが遅れてしまって、検索ロボットに正しい評価をしてもらうまでに時間がかかるかもしれません。また、サーバーエラーはサイト流入の機会損失につながりますし、エラーではないもののリダイレクト設定を怠れば、そのまま顧客やトラフィックを失ってしまいます。

Webサイトの価値を最大化、またトラブル時に早期解決するためにも、Webディレクターは代表的なHTTPステータスコードを覚えて、開発側やクライアントとコミュニケーションを行うといいでしょう。

 

 

\ SNSでシェアしよう! /

【はたラボ】派遣のニュース・仕事情報・業界イロハ|派遣会社・人材派遣求人ならパーソルテクノロジースタッフ |IT・Web・機電の派遣求人ならパーソルテクノロジースタッフのエンジニア派遣の 注目記事を受け取ろう

この記事が気に入ったら
いいね!しよう

【はたラボ】派遣のニュース・仕事情報・業界イロハ|派遣会社・人材派遣求人ならパーソルテクノロジースタッフ |IT・Web・機電の派遣求人ならパーソルテクノロジースタッフのエンジニア派遣の人気記事をお届けします。

  • 気に入ったらブックマーク! このエントリーをはてなブックマークに追加
  • フォローしよう!

関連記事

  • GAFAって何? IT市場で押さえておくべき略称の意味を解説

  • 情報銀行とは?私達のパーソナルデータはどのようにビジネスに活用されるのか

  • 行動から算出されるYahoo!ユーザー信用度「Yahoo!スコア」の利用方法は

  • データ活用社会の錬金術師、データサイエンティストとは

  • 未経験でもなれる? ブロックチェーンエンジニアの需要度が高い理由

  • アセンブリの意味とは?エンジニアが知っておくべき基礎知識

PAGE TOP