▪️目的
この記事ではHTTPステータスコードの500番台について解説します。
*200、300、400番台については以下の記事で解説しています。
「https://lovelabengineer.com/2026/09/24/httpステータスコードとは?-200番台について解説/」
「https://lovelabengineer.com/2026/09/26/httpステータスコードとは?-300番台について解説/」
「https://lovelabengineer.com/2026/09/26/httpステータスコードとは?-400番台について解説/」
▪️HTTPステータスコード 500番台とは
500番台は、クライアントからのリクエスト時に「サーバ」側の問題で処理が実施できなかった場合に表示されるステータスコードです。
♦︎500(Internal Server Error)
500(Internal Server Error)は、サーバ内部で予期せぬエラーが発生した時に表示されます。
例えば、「サーバの設定ミス」「プログラムのバグ」などです。かなり一般的なエラーです。
♦︎501(Not Implemented)
501(Not Implemented)は、リクエストに対する機能をサーバが実装していない時に表示されます。
例えば、クライアントが「PATCH メソッド」をリクエストしたが、サーバ側ではPATCHの処理に対応していない時です。
♦︎502(Bad Gateway)
502(Bad Gateway)は、「プロキシサーバ」などの中継サーバが上流サーバ(後ろのサーバ)から正常なレスポンスを受け取れなかった時に表示されます。
基本的に中継サーバがいる場合でも、中継サーバは上流サーバからの「ステータスコード」をクライアントに返します。
そのため、502が表示されている場合、「何らかの理由で上流サーバが応答できない状態」である、もしくは「中継サーバが上流サーバからHTTPレスポンスを受け取れない」状態である可能性を意味します。
♦︎503(Service Unavailable)
503(Service Unavailable)は、サーバ側が何らかの理由で一時的にリクエストを処理できないことを表します。
例えば、「短時間にクライアントからのアクセスが大量に増加して、サーバ側で処理が追いつかない時」「サーバのメンテナンス時」が該当します。
♦︎504(Gateway Timeout)
504(Gateway Timeout)は、中継サーバが上流サーバから規定時間内にレスポンスを受け取れなかったことを表します。
例えば、「上流サーバ側にアクセス集中やサーバ側のリソース不足で処理が追いつかない時」「中継サーバで設定しているタイムアウト時間が処理時間に対して短すぎる時」が該当します。
他にも「サーバ側でなく、データベースで処理に時間がかかりすぎた時」も504が表示されます。
▪️まとめ
このように500番台はサーバ側の処理に問題があることを表すので、私たちインフラエンジニアにとっては見落としてはいけないステータスコードです。
そのため、日頃から500番台のエラーが出たらアラートを送信する、ログを集積するなど日頃からこのステータスコードを見落とさない仕組みを作ることが大切です。

No responses yet