ステータスコードとは?IT初心者向けにわかりやすく解説|HTTPステータスコードの意味やよくあるエラー一覧
ステータスコード(Status Code)とは、HTTP通信でサーバーがリクエストの処理結果を3桁の数字で返す仕組みです。
Webサイトの表示やAPI通信では、クライアントから送られたリクエストに対して、サーバーは「成功した」「ページが見つからない」「サーバーでエラーが発生した」といった結果をステータスコードで通知します。IT業務では障害対応やAPIの動作確認で必ず確認する重要な情報です。
ステータスコードとは
HTTP通信では、クライアントから送信されたリクエストをサーバーが処理し、その結果をレスポンスとして返します。
このレスポンスには、処理結果を示すHTTPステータスコードが含まれています。
| 流れ | 内容 |
|---|---|
| リクエスト | クライアントがサーバーへ処理を依頼する |
| レスポンス | サーバーが処理結果を返す |
| ステータスコード | 処理結果を3桁の数字で表す |
例えば、Webページが正常に表示された場合は「200 OK」、存在しないページへアクセスした場合は「404 Not Found」が返されます。
ステータスコードの種類
HTTPステータスコードは、先頭の数字によって大きく5つの分類に分けられます。
| 分類 | 意味 |
|---|---|
| 1xx | 処理を継続中 |
| 2xx | 正常に処理された |
| 3xx | 別の場所へ転送する |
| 4xx | クライアント側の問題 |
| 5xx | サーバー側の問題 |
IT業務では、特に2xx・4xx・5xxを確認する機会が多くあります。
よく使われるHTTPステータスコード
| コード | 意味 | 主な原因 |
|---|---|---|
| 200 OK | 正常終了 | 問題なし |
| 201 Created | データ作成成功 | 登録処理が完了した |
| 204 No Content | 成功したが返すデータがない | 削除処理など |
| 301 Moved Permanently | 恒久的な転送 | URL変更 |
| 302 Found | 一時的な転送 | リダイレクト |
| 400 Bad Request | リクエスト内容が不正 | 入力ミス・形式誤り |
| 401 Unauthorized | 認証が必要 | ログインしていない・認証情報が無効 |
| 403 Forbidden | アクセス禁止 | 権限不足 |
| 404 Not Found | ページやデータが存在しない | URL・IDの誤り |
| 500 Internal Server Error | サーバー内部エラー | アプリケーション障害 |
| 502 Bad Gateway | 上位サーバーとの通信失敗 | プロキシ・ゲートウェイ障害 |
| 503 Service Unavailable | サービス利用不可 | メンテナンス・高負荷 |
なぜステータスコードが重要なのか
ステータスコードを見るだけで、問題がおおよそクライアント側なのか、サーバー側なのかを判断できます。
| コード | まず疑う場所 |
|---|---|
| 2xx | 通信は成功している |
| 4xx | 入力内容・URL・認証・権限 |
| 5xx | サーバー・アプリケーション |
障害対応では、最初にステータスコードを確認することで、効率よく原因を切り分けられます。
業務でよくあるトラブル
400 Bad Request
原因
- 入力内容が不正
- 必須パラメータ不足
- JSON形式が間違っている
401 Unauthorized
原因
- 認証情報が送信されていない
- アクセストークンの有効期限切れ
403 Forbidden
原因
- アクセス権限がない
- アクセス制御により拒否された
404 Not Found
原因
- URLが間違っている
- パスパラメータが誤っている
- 対象データが存在しない
500 Internal Server Error
原因
- アプリケーションの不具合
- データベース障害
- プログラムエラー
障害発生時の切り分け
| 確認項目 | 確認内容 |
|---|---|
| ステータスコード | 4xxか5xxか確認する |
| URL | アクセス先が正しいか |
| パラメータ | 入力値が正しいか |
| 認証 | ログイン情報やトークンを確認する |
| サーバーログ | エラー内容を確認する |
GUIで確認する方法
ブラウザーの開発者ツール(F12キー)では、HTTPステータスコードを確認できます。
- 対象サイトを開く
- F12キーを押す
- 「Network(ネットワーク)」タブを開く
- 対象の通信を選択する
- 「Status Code」を確認する
APIの動作確認では最初に確認する項目です。
コマンドプロンプトで確認できること
- curl(HTTPステータスコード確認)
- ping(疎通確認)
- tracert(通信経路確認)
- nslookup(DNS確認)
curlを利用すると、APIやWebサイトが返すHTTPステータスコードを確認できます。
PowerShellで確認できること
- HTTPレスポンス取得
- ステータスコード確認
- API通信テスト
- エラー内容確認
イベントビューアーで確認する場面
500番台のエラーが発生した場合は、Windowsのイベントビューアーやアプリケーションログに原因が記録されていることがあります。
- Windowsキーを押す
- 「イベントビューアー」を起動する
- 「Windowsログ」→「アプリケーション」を開く
- エラー内容を確認する
初心者が混乱しやすいポイント
- 200は通信成功であり、画面表示が完全に正常とは限らない
- 404はサーバー停止ではなく、対象が見つからない状態
- 401と403はどちらも認証に関係するが意味が異なる
- 500はサーバー側の問題であることが多い
筆者の現場経験
社内システムで「APIが動かない」という問い合わせがありました。利用者はサーバー障害を疑っていましたが、開発者ツールで確認すると返ってきていたのは401 Unauthorizedでした。
調査したところ、認証トークンの有効期限が切れており、新しいトークンを取得すると正常に200 OKが返されるようになりました。
また別の案件では500 Internal Server Errorが返っており、サーバーログを確認したところデータベース接続エラーが原因でした。
このように、ステータスコードを見るだけでも調査の方向性を大きく絞り込めます。
上司へ報告するポイント
- 発生日時
- 対象システム・API
- HTTPステータスコード
- 実施した確認内容
- 再現手順
- 影響範囲
- 現在の状況
エスカレーションするタイミング
- 500番台のエラーが継続している
- 複数ユーザーで同じエラーが発生している
- サーバーログに重大なエラーが記録されている
- システム全体へ影響が出ている
- サーバーやアプリケーションの修正が必要と判断した場合
新人が覚えておきたいポイント
- ステータスコードはHTTP通信の処理結果を示す番号
- 2xxは成功、4xxはクライアント側、5xxはサーバー側の問題
- 障害対応では最初にステータスコードを確認する
- 開発者ツールやcurlで確認できる
- ログとあわせて確認すると原因を特定しやすい
関連するIT用語
- HTTP
- リクエスト(Request)
- レスポンス(Response)
- ヘッダー(Header)
- ボディ(Body)
- API(Application Programming Interface)
- HTTPメソッド
- クエリパラメータ
- パスパラメータ
よくある質問(FAQ)
200 OKなのに画面が正しく表示されないことはありますか?
あります。HTTP通信自体は成功していても、JavaScriptのエラーや取得したデータの内容に問題がある場合は、画面が正常に表示されないことがあります。そのため、ブラウザーの開発者ツールの「Console」タブやレスポンス内容も確認しましょう。
401 Unauthorizedと403 Forbiddenの違いは何ですか?
401 Unauthorizedは認証情報が不足している、または無効な状態です。一方、403 Forbiddenは認証には成功しているものの、そのリソースへアクセスする権限がないことを意味します。
500 Internal Server Errorが表示されたらどうすればよいですか?
500番台はサーバー側で問題が発生している可能性が高いため、アプリケーションログやイベントビューアー、サーバーログを確認します。利用者側で解決できない場合は、サーバー管理者や開発担当者へエスカレーションしましょう。
まとめ
HTTPステータスコードとは、サーバーがリクエストの処理結果を3桁の数字で返す仕組みです。200は正常終了、400番台はクライアント側の問題、500番台はサーバー側の問題を表します。
IT業務では、APIやWebシステムの障害対応でステータスコードを確認することが基本です。HTTPステータスコードを理解しておくことで、原因の切り分けや適切なエスカレーションを迅速に行えるようになります。

コメント