【Web】HTTPエラーコード一覧

システム開発

以下は、一般的なWebエラーコードとその意味を簡単に説明した一覧です。

ステータスコード名前説明
1xx情報応答リクエストを受信し処理中であることを示す中間応答。
100Continueリクエストの一部を受信し、さらに続けるよう指示する。
101Switching Protocolsプロトコルを切り替えるよう指示する。
2xx成功リクエストが正常に処理されたことを示す。
200OK正常に処理が完了した。
201Createdリクエストの結果としてリソースが作成された。
204No Contentレスポンスが成功したが、返すデータがない。
3xxリダイレクトリソースが移動したことを示し、別の場所への転送を指示する。
301Moved Permanentlyリソースが恒久的に移動した。
302Foundリソースが一時的に移動した。
304Not Modifiedリソースが更新されていないため、キャッシュのデータを使用するように指示。
4xxクライアントエラークライアント側の問題でリクエストが処理できない。
400Bad Requestリクエストが不正または無効。
401Unauthorized認証が必要だが提供されていない、または失敗した。
403Forbiddenアクセスが禁止されている。
404Not Found指定されたリソースが見つからない。
429Too Many Requests短時間に多くのリクエストを送りすぎた。
5xxサーバーエラーサーバー側の問題でリクエストが処理できない。
500Internal Server Errorサーバー内部でエラーが発生した。
502Bad Gatewayゲートウェイやプロキシが不正な応答を受け取った。
503Service Unavailableサービスが一時的に利用できない。
504Gateway Timeoutゲートウェイまたはプロキシがタイムアウトした。

これらのエラーコードは、WebサイトやAPIの通信で発生するさまざまな問題を特定するために使われます。特に、4xxはクライアント側5xxはサーバー側のエラーを示しています。

HTTPステータスコードは、HTTP(HyperText Transfer Protocol)の仕様に基づいて決定されています。この仕様は、インターネット標準を策定する国際的な団体「IETF(Internet Engineering Task Force)」が策定したもので、RFC(Request for Comments)という文書として公開されています。ステータスコードが定められる際のルールは、以下のような基準や目的に基づいています。


1. カテゴリによるグループ分け(3桁の構造)

  • 100番台 (1xx):情報を伝える応答
    → 通信が進行中であることを通知(例:100 Continue
  • 200番台 (2xx):成功
    → リクエストが正常に処理されたことを示す(例:200 OK
  • 300番台 (3xx):リダイレクト
    → リソースが移動したため、別の場所への転送を要求(例:301 Moved Permanently
  • 400番台 (4xx):クライアントエラー
    → ユーザーのリクエストに誤りがある(例:404 Not Found
  • 500番台 (5xx):サーバーエラー
    → サーバーがリクエストを処理できない(例:500 Internal Server Error

2. HTTPプロトコルの拡張性

  • 新しいコードの追加
    → 時代や技術の進歩に伴い、必要なときに新しいステータスコードが定義されます。
    例:429 Too Many Requests(短期間で多くのリクエストが送られた場合)
    これらは、新しい仕様(RFC)を追加することで拡張されます。
  • 後方互換性の確保
    → 古いクライアントやブラウザでも新しいコードを適切に解釈できるよう、番号体系は維持されています。

3. エラーと成功の区別のための一貫した設計

  • 3桁のステータスコードで最初の桁が意味の大まかなカテゴリを示し、残りの2桁が詳細なステータスを表します。
  • これにより、クライアント(ユーザーのブラウザやAPI呼び出し)が状況を簡単に判断でき、適切な処理を行えます(たとえば、404を受け取ったら再試行せず、リソースが存在しないと判断)。

4. 国際的な標準と合意による策定

  • IETFが公開するRFC(例:RFC 7231など)に、HTTPプロトコルの動作やステータスコードの意味が詳細に記載されています。これに基づいて、すべてのWebブラウザ、サーバー、APIが一貫して動作するよう設計されています。

5. 使いやすさと簡便さの両立

  • ステータスコードは簡潔な形式で、1つの数値でエラーの概要を伝えます。
  • 例えば、ユーザーが「404」と表示されたとき、「ページが見つからない」ことを直感的に理解できます。

まとめ

HTTPステータスコードは、シンプルで拡張性があり、互換性を重視した設計がされています。IETFによるRFCの標準化が行われており、国際的な合意に基づいて決まっています。新しいインターネットの需要に応じて、柔軟にコードが追加される点もこのルールの特徴です。

著者プロフィール
この記事を書いた人
ロジャー

Webアプリ開発を20年近く経験し、管理職なった今も時々ソースをいじるメインは営業職の管理者。もうすぐ40代。最近は、AIを活用して少しでも仕事やプライベートを面白くしていきたいと考えているおっさんです。困った事もAIなら解決してくれるはず!?

ロジャーをフォローする
システム開発
ロジャーをフォローする
タイトルとURLをコピーしました