インターネットを利用しているときに「Error 404 Page Not Found」と表示されたことはありませんか。「404」はHTTPステータスコードのひとつで、サイトにアクセスした場合にサイトが返すエラーコードです。では、エラーコードにはどのようなものがあるのでしょうか。
HTTPステータスコードとは
ブラウザからWebサイトへアクセスする場合は、URLアドレスを指定します。これを「リクエスト」と呼び、Webサイトから返す情報を「レスポンス」と呼びます。HTTPステータスコードはこの「レスポンス」のヘッダーに埋め込まれています。レスポンスではこのHTTPステータスコードの他にブラウザに表示するべき情報などが含まれています。ブラウザはこのHTTPステータスコードによって次の動作を判断します。
このHTTPステータスコードはインターネット技術の標準化を推進する任意団体IETFが策定しており、ブラウザやWebサイトはこの規約に準拠して動作する設計になっています。
HTTPステータスコードはエラーコードだけではありません。正常の場合は「200 OK」、他のURLアドレスを表示したい場合は「303 see other」を返しますが、これらはブラウザの内部で処理されるコードなので、普段インターネットを利用していて画面上で見ることはまずないでしょう。
代表的なエラーコードの意味を知ろう
エラーコードには、内部で使用するものもあるため、操作する人が意識しないコードもあります。操作する人の目に触れるコードを中心にご紹介します。
エラーコード | エラーの内容 | 発生するケース |
400 Bad Request | リクエストが不正 | リクエストの方法に誤りがある |
403 Forbidden | 指定したファイルはアクセスが禁止されている | 社内限定公開のページを社外からアクセスしようとしたなど |
404 Not Found | 指定したファイルがみつからない | 指定したURLが間違っている、指定したページが削除されているなど |
408 Request Timeout | 時間内にサーバーから応答がなかった | サーバーの処理に時間がかかり時間ないにレスポンスを返せなかったなど |
500 Internal Server Error | 内部サーバーエラー | プログラムバグなど |
503 Service Unavailable | サーバーアクセス不能 | アクセスが集中してサーバーが処理不能になっているなど |
ちなみに、2015年冬ごろから上記コード以外に新しいステータスコード「451」が追加される動きもあります。国・地域によってはインターネットの閲覧を検閲されており、法的に禁止されるアクセスの場合に「403」と用途を分けるために設定されるようです。このコードがどのように運用されているのかはまだ明らかになっていません。
○○○番台の違いを知ろう
上記でご紹介したエラーコードの番号帯を見ておわかの通り、頭1桁が種別によって分かれています。エラーコード以外も含めてご紹介しましょう。
番号帯 | 意味 | 説明 |
100番台 | 情報 | リクエストは正常に受け取られ、サーバーで処理を継続中 |
200番台 | 成功 | リクエストは成功した |
300番台 | 移転通知 | 指定した別のURLにアクセスするよう依頼した |
400番台 | クライアントエラー | リクエストに誤りがある |
500番台 | サーバーエラー | サーバーに問題がある |
想定できるエラーコードについてはWebサイト上で専用のページを用意して操作した人にわかりやすく表示されている場合が多くなっています。エラーだけが表示されていると操作をそこでやめてしまいますが、わかりやすいメッセージとともに他のページへ誘導するページを作ると操作を続行してもらえる確率が高くなるため、アクセス数が気になるサイトの運営者にとってもメリットがあるのです。
HTTPステータスコードについてまとめるとこのようになります。
・ブラウザからのリクエストによってWebサイトからレスポンスを返すときに渡されるコードである
・100番台から500番台まであり、エラーコードは400番台、500番台である
エラーコードを見かけたら、どんなエラーなのかもう一度確認してみましょう。サイトによっては表示の仕方を工夫しているので見比べてみるとサイトを運営するときの参考になりますよ。