HTTPステータスコードは細かく見ていくと、結構な数になりますが、普段目にする・対処が必要なステータスコードは限られてきますので、身近なものから覚えておきましょう。

そもそも、HTTPステータスコードとは?

f95daf4fbf3c5faccf8878d67212ee78インターネットを利用してWebサイトをチェックしていると、「404 Not Found」など3桁の数字と英文が表示されて、閲覧ができない経験がありませんか?

たとえば、Webサイトを閲覧する際に、ブラウザのアドレス欄にURLを入力して送信すると、リクエストした先のサーバー(サービスを提供する側のコンピューター)から「ブラウザにWebサイトの内容を表示する」というレスポンス(返事)が返ってきます。

しかし、ごくまれにリクエストしたWebサイトが見つからないなど、何らかの理由で表示できないこともあります。このとき、処理が継続中なのか、正常に完了したのか、もしくはエラーが出てしまったのか、その際の結果を3桁の数字で分かりやすく表示したものが「HTTPステータスコード」です。

ステータスコードの種類

ステータスコード には100番台から500番台まで多くの種類があります。
使用頻度の高い400番台と500番台を主に解説していきますが、知っておいて損はないので簡単にほかの数字も触れておきます。

100番台のステータスコード

100番台のステータスコードは、Webサーバがもう少し情報を下さい、処理にもう少し時間がかかります、という返事を返している状況になります。

例えば「102 Processing」は「現在処理を継続してますよ」というステータスコードになります。

200番台のステータスコード

200番台は、処理が成功して正常にレスポンスができている状態を意味します。
ブラウザで正しくページが表示されている場合、ほとんどが「200 OK」というステータスコードを返しています。

何事もなく普通に表示されている時は基本的には「200」という状態です。
※ただ、次に説明しますが、気づかないレベルで転送(リダイレクト)されている場合もあります。

300番台のステータスコード

300番台は、リクエストの完了に追加処理が必要である状態を意味します。
主には永続的にページを転送する「301 Moved Permanently」や、一時的にページを転送する「302 Moved Temporarily」があります。

301Moved Permanently

301リダイレクトとは”Permanent Redirect”(恒久的な転送」を意味し、サイトやページ完全に移動させる際に使用します。
移転が完了して今後は常に移転先を参照して欲しいという意味が含まれています。

具体的には、

  • サイトをドメインごと移転する場合
  • サイト内の一部のページだけを移転する場合
  • URLの正規化目的で使用される場合で、ユーザーにも検索エンジンにも重複ページを見せる必要がない場合
  • リンク切れページを、他のページに転送する場合

に使用される場合が多いです。

ドメインごと移転する場合と、一部のページだけを移転する場合は、ページやサイトが指定されたURLに移転が完了し、元のURLに戻らないことを意味しています。

正規化目的の場合は、wwwのありなしやindex.htmlのありなしなどで、まったく同じコンテンツが表示されてしまう場合に、片側からもう片側への正規とするURLにリダイレクトを行うような場合です。こういった場合は常に正規のURLを参照すればよいので301の恒久的な転送を行うのが適切ということになります。

一方でネット通販などの「ECサイト」では色違いなどの商品を別々のURLで表示しているような場合、検索エンジンに重複ページと扱われる可能性が高く、どちらかだけを検索結果に表示させるために正規化が必要になる場合が良く起こります。

しかし、301リダイレクトを行ってしまうとユーザーも色違いの商品を見られなくなってしまいますので、こういった場合の正規化は「caonical」で行います。

こちらも参照ください。

検索エンジンもユーザーも、非正規のページにアクセスする必要がないケースでの正規化には、301リダイレクトを使用するといった形で使い分けで覚えておきましょう。

302 Moved Temporarily

302リダイレクトは、数日~1週間くらいの短期間の場合に使用されます。

具体例として、サイトのメンテナンス中に表示するお知らせページに遷移する場合や、サーバエラーなどが原因で一時的にサイトを移転する場合などが挙げられます。また、期間限定商品のページを短期間だけメインページとして表示させたいなどの場合にも使用されることが多いです。

ちなみに、よくモバイルサイトを別ページで制作してそちらへリダイレクトさせる手法も多いと思いますが、Googleはモバイルサイトへのリダイレクトを「302」で行うことを推奨しています。

リダイレクトに関してはこちらも参照ください。

304 Not Modified

304エラーは「更新されていません」という意味で、アクセス自体に問題はなく、対象ページのコンテンツ(テキストやメニュー、画像など)が前回のアクセス時から更新されていないことを意味します。

このステータスを受け取った時は、サーバーからコンテンツのデータがダウンロードされません。ですが、前回アクセスした時のブラウザ内のキャッシュを取り出してコンテンツを表示してくれて、サーバーからコンテンツをダウンロードする処理が行われません。その分、Webページを早く表示されます。

400番台のステータスコード

主に400番台のステータスコードはブラウザからリクエストの誤りがあって返答ができなかった状況を表します。
特に目にする機会が多いのは「404(ページが見つかりませんでしたの意)」エラーではないでしょうか?

401 Unauthorized

401エラーは、ページを見る前の「ベーシック認証」などのログインを失敗した時に出るエラーです。ログインを試みたが「許可を与えられなかった」なので認証失敗という意味です。
IDやパスワードを間違えていないか確認してみてください。

403 Forbidden

403エラーは、ページを見る権限がない時に出るエラーです。
ページを見ようとしたが、アクセスが「禁止されていた」ためにアクセス拒否されたという意味です。多くの場合はサイトの管理者側のミスで起こることが多いです。

閲覧者が自力で解決することはできないので、管理者側の対応を待つか、問い合わせができればそこで確認してみましょう。

404 Not Found(404エラー)

404エラーは、訪れたページが存在しない時に出るエラーです。
URLが間違っている可能性や、古いページに訪れてしまった可能性があるのでよく確認しましょう。

ただ、こちらもサイトの管理者側が、日頃から気を付けておくべき部分になりますし、訪問者の離脱につながる大きな問題なので管理者側の方達は日頃から注意してサイトの状況を確認しておきましょう。

ソフト404エラー

こちらはステータスコード自体は「200」で返されるため、ユーザーからするとほとんど気づきにくい部分になりますが、サイトの管理者側の方は気を付けましょう。
特に販売サイト系の自動でページを生成するプログラムを組んでいると知らず知らずの間にソフト404を引き起こしていることがあるので注意してください。

ソフト404エラーに関してはこちらも参照ください。

500番台のステータスコード

500番台のステータスコードはサーバー側に何か問題が発生して、リクエストに応答できない状況を意味してます。
このケースの場合は、ホスティング会社などに連絡をして早めの対応をしてもらいましょう。

502 Bad Gateway

502エラーはゲートウェイとして動作するサーバーに何らかの問題が発生した時に出るエラーです。ゲートウェイとは、広い意味で言うと「異なるネット同士をつなぐもの」です。例えばタブレット端末からインターネットに接続できるのもゲートウェイを経由しているからです。

原因としてはサーバー側の設定ミス、PHPのバージョン変更などが考えられるます。しかしこのエラーは詳細が特定しにくいので、なかなかすぐに解決するのが難しいエラーです。

503 Service Unavailabl

503エラーはアクセスが集中しすぎたり、メンテナンスでサーバーが一時的に使えない時に起こるエラーです。
そもそもレンタルサーバーは余計な負荷をかけないために、データの転送量やアクセスの制限を設けています。

その制限を超えてしまうと起きます。よくあるのは人気のあるインフルエンサーが宣伝したり、ニュースになるお店のサイトなどに一時的にものすごい量のアクセスが集中した時によく目にするエラーです。

オリジナル404ページとは

オリジナル404ページとは、オリジナルで作成したユーザーに向けた404ページのことを指します。

何も設定がないと、無機質な404ページのままでユーザーは離脱してしまうでしょう。

一方でオリジナル404ページでは、他ページへの導線リンクが設置されていたり、ユニークな画像やテキストでユーザーに良い印象を与えてくれます。

例)ホンダの404ページ

e4d5a7dd366f453ea6e7665db3e130a2

ホンダの404ページは、非常にユーザービリティが優れているだけでなく、「どのページが404だったかお聞かせください」とフォームまで設置されています。エラーの報告を受けることで企業側も迅速な対応ができます。

まとめ

基本的にはエラーステータスコードが起きた場合は管理者が対応するべきものが多いのです。せっかく訪れてくれたユーザーを離脱させてしまう可能性が非常に高くなってしまいますので、サイトの管理者側の方たちは日頃から自身で管理しているサイトをよくチェックしておくことが大切です。