CHAPTER 04STATUS CODE

第4章|システムの通信

【IT用語】「HTTPステータスコード」とは?通信結果を伝える3桁の番号

HTTPステータスコードとは何かを、2xx・3xx・4xx・5xxの分類と、401・403・404・500・503の違い、調査時の読み方から解説します。

Webサイトを開いた時に、「404」や「500」という数字を見たことはありませんか?

これはウイルスの警告ではなく、サーバーが通信結果を伝えるHTTPステータスコードです。

今回は、ステータスコードを「お店からの返事」に例えて解説します。

結論:「ステータスコード」=「HTTPリクエストの結果を表す3桁の番号」

ブラウザやアプリがサーバーへリクエストを送ると、サーバーはレスポンスを返します。その中に含まれる3桁の番号がステータスコードです。

最初の数字によって、大きな分類が分かります。

  • 1xx:情報 — 処理を継続している
  • 2xx:成功 — リクエストを正常に受け付けた
  • 3xx:リダイレクト — 完了のために追加の移動や処理が必要
  • 4xx:クライアントエラー — リクエストを処理できない
  • 5xx:サーバーエラー — 有効に見えるリクエストをサーバーが処理できない

4xxだから利用者本人が悪い、5xxだから担当者が悪い、と決めつけるための番号ではありません。問題の方向を切り分ける手がかりです。

よく見るステータスコード

200 OK

リクエストが成功したことを示します。

Webページの取得だけでなく、APIの処理成功などにも使われます。成功時に常に200を使うとは限らず、作成成功の201や、本文を返さない204などもあります。

400 Bad Request

リクエストの形式が不正などの理由で、サーバーが処理できない状態です。

入力値の不足、壊れたJSON、想定外の形式などが原因になります。

401 Unauthorized

有効な認証情報がないため、処理できない状態です。名前はUnauthorizedですが、実際には「まず認証が必要」という場面で使われます。

403 Forbidden

サーバーは要求を理解していますが、処理を拒否しています。

ログイン済みでも権限が足りない場合などに使われます。理由を隠すため、存在するページに404を返す設計もあります。

404 Not Found

指定された対象が見つからない、または存在を公開しない状態です。

URLの間違い、ページの削除、公開場所の設定ミスなどが考えられます。

500 Internal Server Error

サーバーが予期しない状態に遭遇し、リクエストを処理できなかったことを示します。

プログラムの例外や設定不備などが原因になりますが、500だけでは具体的な原因までは分かりません。サーバー全体が停止したという意味でもありません。

503 Service Unavailable

一時的な過負荷やメンテナンスなどで、現在はリクエストを処理できない状態です。

時間を置けば回復する可能性があります。ただし、サーバーが過負荷の時に必ず503を返せるとは限りません。

コードだけで犯人は決められない

ステータスコードは大切な手がかりですが、それだけで原因を断定できないことがあります。

例えば404なら、URLの入力ミス、ルーティング設定、デプロイ漏れ、アクセス制御など複数の可能性があります。

開発者は、次の情報も組み合わせて調べます。

  • レスポンス本文
  • リクエスト内容
  • サーバーやアプリのログ
  • 発生した時刻と環境

まとめ

  • ステータスコード「HTTP通信の結果を表す3桁の番号」
  • 4xx「リクエストをそのまま処理できない」
  • 5xx「サーバーが処理を完了できない」
  • 使い方「原因を決めつけず、調査範囲を絞る手がかりにする」

エラー画面の数字は、怖い暗号ではありません。システムが「何が起きたか」を伝えようとしている短い返事です。

次の記事では、システムと利用者を守る「セキュリティ」について解説します。

ここまでお読みいただきありがとうございました!

QUICK CHECK

よくある質問

4xxなら利用者が悪い、5xxなら開発者が悪いのですか?

責任を決める番号ではありません。4xxは要求をそのまま処理できない状態、5xxはサーバー側で処理を完了できない状態を示す分類です。原因はログや要求内容と合わせて調べます。

次に読むなら?

SECURITYの記事へ進むと、開発や通信の流れを順番に理解できます。

参考資料

用語の定義や仕様を確認するため、公式文書・標準文書を参照しています。リンク先の内容は更新される場合があります。