様々なエラーコード

様々なエラーコード

WEBサイトを見ているといきなり出てくるエラーコードの3桁の数字…よく見るけどこれって何を表しているんだろう…という方は意外に多いのではないでしょうか?
有名なものだと「404 not found」が見る機会も多くなじみ深いのではないでしょうか、今回はそんなエラーコードついてコードとどんな状況なのか色々まとめていこうと思います。

●HTTPステータスのエラーコードとは

HTTPステータスのエラーコードとは、WEBサーバーからブラウザなどのクライアントに対してリクエストの結果を伝えるステータスのエラーコードを指します。
このエラーコードは400番台と500番台の3桁の数値がありそれぞれ下記の要因で表示されます。

400番台:(クライアントエラー)
リクエストに問題があり、サーバーが処理できなかったことを示します。

500番台:(サーバーエラー)
サーバーに問題があり、リクエストが処理できなかったことを示します。

●各エラーコードの内容

・400 Bad Request
クライアント側からのリクエストが無効であることを示すエラーコードです。
例えば、受け取ったWEBサーバー側が理解出来ないなど、クライアントから送られたリクエストの形式が正しくない場合などに発生します。

・401 Unauthorized
クライアントからのリクエストを処理するためには、認証が必要であることを示すエラーコードです。

・403 Forbidden
クライアントがアクセスしようとしたWEBサーバーや特定のWEBページに、アクセスが禁止されていることを示します。認証はされていても、アクセス権がない場合にも発生します。
例えば、管理者だけがアクセスできる階層のファイルや、まだ公開設定がされていないWEBページなどにアクセスしようとした際に発生します。

・404 Not Found
クライアントからリクエストされたリソースが、WEBサーバー側で見つからないことを示すエラーコードです。アクセスしようとしたURLが間違っている場合などに発生します。

・408 Request Timeout
リクエストがタイムアウトしたことを示します。クライアントからの要求を、WEBサーバー側が処理完了するのに時間がかかりすぎた場合に発生するエラーコードです。
リクエストを処理するための負担が大きくWEBサーバー側のタイムアウト設定以内に処理できなかった場合や、アクセス過多でWEBサーバーが処理できなくなっている場合などに発生します。

・402 Payment Required
まだ一般的に広く使われているわけではないエラーコードです。現在は主に決済に関連するエラーが発生した際に使用されています。

・410 Gone
リクエストされたリソースが削除されたことを示すエラーコードです。404と異なり、完全に削除されたため再び利用できないリソースに対するリクエストに対して発生します。

・500 Internal Server Error
WEBサーバー内部でエラーが発生し、リクエストを処理できなかったことを示すエラーコードで、さまざまな原因で表示されるエラーコードなので、これだけでは状況を特定できません。
WEBサーバー内のプログラムのバグ、様々な設定ミスなど、考えられる原因が多いため、対処も難しいエラーです。

・502 Bad Gateway
基本的に、WEBサーバーの負荷が高まっているため、レスポンスができない状態にあることを示すエラーメッセージです。想定以上のアクセスにより、WEBサーバーの処理能力を超えてしまった場合などが該当します。

・503 Service Unavailable
WEBサーバーにアクセスできないことを示すエラーコードです。
502と同じくWEBサーバーの限界を迎えたリクエストを受けている場合にも表示されますが、プログラムの誤作動により処理できない場合があることに注意が必要です。

・504 Gateway Timeout
ゲートウェイまたはプロキシサーバーが、上流サーバーからのレスポンスをタイムアウトしたことを示すエラーコードです。WEBサーバー同士の通信にエラーが発生していることを示しています。

・505 HTTP Version Not Supported
WEBサーバーがサポートしていないHTTPバージョンを使用したリクエストに対して発生するエラーコードです。

・508 Loop Detected
WEBサーバー内で処理がループしてしまっている際に発生するエラーコードです。

エラーコードの種類と内容について書きましたがエラーコードを把握していると何が原因でエラーが起きているのか分かるようになるので、代表的なエラーコードはおぼえておくといいですね。

エラーコードによって問題があるのが自分側なのかそうでないのか、時間が解決するのか、対処が必要なのか変わってくるためWebサーバーを運営される方はより気にするようにしましょう!