の機能や事例などをまとめたサービス資料を配布しています
まずは無料で資料請求


STANDS編集部
日々の業務で活用いただける実践的なフレームワークや、知っておきたいSaaSのトレンドワード・キーワードの解説、CS業務改善のためのヒントなどをお届けいたします。
STANDS編集部
日々の業務で活用いただける実践的なフレームワークや、知っておきたいSaaSのトレンドワード・キーワードの解説、CS業務改善のためのヒントなどをお届けいたします。
Onboarding 資料請求フォーム
HTTPステータスのエラーコードとは、WEBサーバーからブラウザなどのクライアントに対してリクエストの結果を伝えるステータスコードの一種です。その中で、リクエストが成功しなかった際にレスポンスとして返される番号を、エラーコードと言います。400番台と500番台の3桁の数値です。
エラーコードは、問題が発生した原因や、その解決方法のヒントを得るために大切な情報です。何が問題なのか、どのようなアクションが必要なのかを知る手がかりになります。そのため、エラーコードの内容や意味を知っておくことは有効です。
この記事では、エラーコードとは何か、どのような仕組みで返されているものなのかを説明します。そして、代表的なエラーコードについても解説します。エラーが発生した際に対処するための参考にしていただけると幸いです。
HTTPステータスコードは、WEBサーバーがWEBブラウザなどのクライアントからのリクエストに対する応答として示す3桁の数字です。クライアントは主にユーザー側が使い、WEBサーバーはWEBサイトやWEBサービスを運営する側が使うので、ユーザーに対して返されるものとも言えます。
HTTPステータスコードは5つのカテゴリに分類されます。それぞれのコードは、ユーザーからのリクエストが成功した、失敗した、追加のアクションが必要かなどを示します。
5つのカテゴリそれぞれの意味は以下の通りです。
リクエストを受け取り、処理が続行されていることを示します。
リクエストが正常に処理されたことを示します。
追加のアクションが必要であることを示します。
リクエストに問題があり、サーバーが処理できなかったことを示します。
サーバーに問題があり、リクエストが処理できなかったことを示します。
HTTPリクエストは、まずユーザー側のクライアントがサーバーに送信するものです。このリクエストに対して、サーバーはHTTPレスポンスを返します。リクエストがどのような処理結果になったかを示すのです。
その結果を表すものがステータスコードです。ステータスコードは、あらかじめ規定されています。どのような状態になったら、このステータスコードを返すというパターンが決められているので、ステータスコードを見れば通信の結果がわかります。
HTTPステータスコードは、上記のように5つのカテゴリに分類されています。それぞれのカテゴリ内で、さらに下2桁を使って、特定の状況であることが示されます。
100番台と200番台のHTTPステータスコードは、正常に処理されていることを示すため、ユーザー側が目にすることはほとんどありません。クライアントであるブラウザやアプリは動作しているので、コードを意識する必要がないためです。
300番台についても同様です。300番台はリダイレクトメッセージと呼ばれ、クライアントが発したリクエストが別のソースに受け渡されたことを示します。しかし、リダイレクトや引き継ぎは自動で行われることがほとんどなので、ユーザーが確認することは滅多にありません。
5つのカテゴリの中で、ユーザー側が目にすることが多いのが、400番台と500番台です。これらのHTTPステータスコードは、クライアントからのリクエストが正常に処理されなかったことを示します。WEBブラウザなどのクライアントの動作も止まり、ステータスコードだけが示されるので、ユーザーも見ることになるのです。
また、400番台と500番台は、通常通りにクライアントを使えなくなるため、エラーコードと言われます。WEBサービスを提供している側にとっては、エラーの発生を放置することはできません。ユーザーがWEBサービスを正常に使えないためです。サービスの信頼性を損なうだけでなく、収益性にも悪影響が出てしまいます。そのため、エラーコードが重視されるのです。
ステータスコードは3桁の数字で管理されています。エラーコードも同様です。そのため、400番台と500番台でカテゴリーが異なるエラーを示しています。ここでは、それぞれのエラーコードを説明します。
400番台は「クライアントエラーレスポンス」と呼ばれるエラーコードです。クライアント側に問題があるため、リクエストが正常に処理されなかったことを示します。例えば、クライアントから送信されたリクエストの形式が誤っている場合などが該当します。
つまり、クライアントからのリクエストをWEBサーバー側が理解できない・処理できないという状況です。エラーコードそれぞれの内容を以下に紹介します。
クライアント側からのリクエストが無効であることを示すエラーコードです。
例えば、クライアントから送られたリクエストの形式が正しくない場合などに発生します。受け取ったWEBサーバー側が理解できないのです。
クライアントからのリクエストを処理するためには、認証が必要であることを示すエラーコードです。
クライアントは適切な認証情報を提供する必要があります。正しく認証されなければ、リクエストの処理に進めません。
クライアントがアクセスしようとしたWEBサーバーや特定のWEBページに、アクセスが禁止されていることを示します。認証はされていても、アクセス権がない場合にも発生します。
例えば、管理者だけがアクセスできる階層のファイルや、まだ公開設定がされていないWEBページなどにアクセスしようとした際に発生するエラーです。
クライアントからリクエストされたリソースが、WEBサーバー側で見つからないことを示すエラーコードです。アクセスしようとしたURLが間違っている場合などに発生します。
リクエストがタイムアウトしたことを示します。クライアントからの要求を、WEBサーバー側が処理完了するのに時間がかかりすぎた場合に発生するエラーコードです。
リクエストを処理するための負担が大きくWEBサーバー側のタイムアウト設定以内に処理できなかった場合や、アクセス過多でWEBサーバーが処理できなくなっている場合などが考えられます。
まだ一般的に広く使われているわけではないエラーコードです。現在は主に決済に関連するエラーが発生した際に使用されています。
リクエストされたリソースが削除されたことを示すエラーコードです。404と異なり、完全に削除されたため再び利用できないリソースに対するリクエストに対して発生します。
500番台はWEBサーバーがブラウザなどのクライアントからのリクエスト処理に失敗した場合に発生するエラーコードです。
WEBサーバー側に問題がある場合がほとんどなので、ユーザー側では対処できません。そのため、WEBサービス提供者にとっては、ユーザーの信頼を失ってしまうエラーコードでもあります。素早い対応が大切です。
WEBサーバー内部でエラーが発生し、リクエストを処理できなかったことを示すエラーコードです。さまざまな原因で表示されるエラーコードなので、これだけでは状況を特定できません。
パーミッションの設定ミス、WEBサーバー内のプログラムのバグ、アクセス権限の設定ミスなど、考えられる原因が多いため、対処も難しいエラーです。まず状況を整理することから始めなければなりません。
基本的に、WEBサーバーの負荷が高まっているため、レスポンスができない状態にあることを示すエラーメッセージです。想定以上のアクセスにより、WEBサーバーの処理能力を超えてしまった場合などが該当します。人気のチケットや商品の発売日などに、販売WEBサイトが、このような状況に陥ることが多くあります。
ユーザー側としては、時間をおいてアクセスし直すしかありません。WEBサーバー運営者としても、一時的なアクセスの増加によるエラーは仕方ないと判断するでしょう。しかし、頻繁に起こるならば、WEBサーバーのスペックが不足していることや、外部からの攻撃を受けていることを示しているかもしません。
WEBサーバーにアクセスできないことを示すエラーコードです。502と同じくWEBサーバーの限界を迎えたリクエストを受けている場合にも表示されますが、プログラムの誤作動により処理できない場合があることに注意が必要です。
一時的な負荷の増加によってエラーが発生しているならば、時間が経って負荷が落ち着けば自然と解決します。しかし、プログラムの処理ができないことが原因ならば、バグを解決しなければならないエラーコードです。
ゲートウェイまたはプロキシサーバーが、上流サーバーからのレスポンスをタイムアウトしたことを示すエラーコードです。WEBサーバー同士の通信にエラーが発生していることを示しています。
ユーザーにはどうしようもないエラーなので、WEBサイトやWEBサービスの運営者が迅速に対応しなければなりません。
WEBサーバーがサポートしていないHTTPバージョンを使用したリクエストに対して発生するエラーコードです。クライアント側が使っているHTTPバージョンが古いことが考えられます。適切にアップデートするように促しましょう。
WEBサーバー内で処理がループしてしまっている際に発生するエラーコードです。一種のバグですので、WEBサービス提供側での対処が必要です。
HTTPステータスのエラーコードは、WEBサイトやWEBサービスを使う際に、ユーザー側とサービス提供者側との間での通信が正常に処理されなかった際に発生します。エラーが発生した問題によって表示されるエラーメッセージが異なるので、障害の原因を特定して対処するための重要なヒントにもなる重要な要素です。
そのため、エラーコードの意味の理解は、運営するWEBサービスの安定性や品質を向上させることにつながります。同時に、ユーザー体験を向上させるためにも、エラーコードを理解して適切に対処し改善することが必要です。
ぜひ400番台と500番台のエラーコードには特に注意して、迅速に適切な対策をとってください。
【あわせて読みたい関連記事】
関連記事