WebサイトやWebシステムを開発していると、
「404エラー」「500エラー」などの表示を目にすることがあります。
これらはすべて HTTPエラー(HTTPステータスコード) と呼ばれるものです。
HTTPエラーとは、
ブラウザとサーバーの通信結果を表す「HTTPステータスコード」のうち、
問題が発生していることを示す番号のことです。
HTTP通信は以下のような流れで行われます。
1.ブラウザがリクエストを送る
2.サーバーがレスポンスを返す
3.その結果がステータスコードで示される
ステータスコードは3桁の数字で構成され、
最初の数字によって意味が分類されています。
| 先頭数字 | 意味 |
|---|---|
| 1xx | 情報 |
| 2xx | 成功 |
| 3xx | リダイレクト |
| 4xx | クライアントエラー |
| 5xx | サーバーエラー |
HTTPエラーとして問題になるのは、主に 4xx と 5xx です。
| 種類 | 問題の原因 |
|---|---|
| 4xx | クライアント側 |
| 5xx | サーバー側 |
| ステータスコード | エラー名 | 意味 | 主な原因 | 対応の方向性 |
|---|---|---|---|---|
| 400 | Bad Request | 不正なリクエスト | パラメータ不足、形式不正 | リクエスト内容を確認 |
| 401 | Unauthorized | 認証が必要 | 未ログイン、トークン期限切れ | ログイン状態確認 |
| 403 | Forbidden | アクセス禁止 | 権限不足、IP制限 | 権限設定を確認 |
| 404 | Not Found | ページが存在しない | URL間違い、ファイル削除 | パス・ルーティング確認 |
| 405 | Method Not Allowed | HTTPメソッド不許可 | GET/POSTの誤り | 送信方法を確認 |
| 429 | Too Many Requests | リクエスト過多 | API制限超過 | アクセス間隔調整 |
| ステータスコード | エラー名 | 意味 | 主な原因 | 対応の方向性 |
|---|---|---|---|---|
| 500 | Internal Server Error | サーバー内部エラー | プログラム例外、DBエラー | サーバーログ確認 |
| 501 | Not Implemented | 未実装 | 対応していない機能 | サーバー機能確認 |
| 502 | Bad Gateway | サーバー間通信失敗 | API停止、プロキシ設定ミス | 接続先サーバー確認 |
| 503 | Service Unavailable | サービス利用不可 | メンテナンス、過負荷 | サーバー負荷確認 |
| 504 | Gateway Timeout | 上流サーバー応答なし | タイムアウト | 通信状況確認 |