HTTPステータスコード検索とは?
HTTPステータスコードは、Webサーバーがすべてのレスポンスとともに返す3桁の数字で、クライアント(ブラウザ、アプリ、APIの利用者)にリクエストが成功したか、リダイレクトが必要か、失敗したか — そしてその理由を伝えます。これらはIETFによって標準化されており、すべてのWebサーバー、ブラウザ、プログラミング言語で同じように使用されるため、ソフトウェア開発で最も普遍的なデバッグ参考情報の一つです。
この検索ツールは、情報(1xx)、成功(2xx)、リダイレクション(3xx)、クライアントエラー(4xx)、サーバーエラー(5xx)の全5カテゴリーで最もよく遭遇するコードを、実際の意味の分かりやすい説明とともに掲載しています。
この計算機を使用するタイミング
- リクエストが失敗しており、ステータスコードが実際に何を意味するのか理解する必要があるAPIインテグレーションのデバッグ
- 特定のエラー状態に対して自分のAPIからどのHTTPステータスコードを返すべきか決定する
- Web開発コースやBootcampでHTTPの基礎を教えたり学んだりする
- さまざまな4xxおよび5xxのケースを区別する必要があるエラー処理ミドルウェアを書く
- リダイレクトがなぜ機能していないかを、301と302のどちらが返されたかを確認して調査する
- ブラウザがネットワークエラーを表示するがサーバーは200を返したCORS問題をトラブルシューティングする
手順:
- 検索ボックスにステータスコード(404など)またはキーワード(「forbidden」など)を入力します。
- 特定の範囲を閲覧したい場合は、1xx-5xxボタンを使ってカテゴリ別にフィルタします。
- そのコードが何を意味し、通常どのような場合に返されるかについての分かりやすい説明を読みます。
- APIレスポンスのデバッグやエラー処理の構築の際に、これをクイックリファレンスとして活用してください。
計算式
1xx:情報提供 — リクエストを受信し、処理を継続中
2xx:成功 — リクエストが正常に受信・受理された
3xx:リダイレクト — リクエストを完了するにはさらなる操作が必要
4xx:クライアントエラー — リクエストの構文が誤っているか、処理できない
5xx:サーバーエラー — サーバーが有効なリクエストの処理に失敗した
ユースケース
- 統合しているAPIから返された見慣れないステータスコードをすぐに理解する
- 特定のエラー状態に対して自分のAPIからどのステータスコードを返すべきか決定する
- 特定のコードが実際に何を意味するかを確認して、リクエストが失敗する理由をデバッグする
- Web開発コースでHTTPの基礎を教えたり学んだりする
- さまざまな4xxおよび5xxのケースを区別する正確なエラー処理ロジックを書く
主な利点
- 一般的に使用されるすべてのステータスコードを1つの検索可能なリファレンスに集約
- 形式的なRFCの表現だけでなく分かりやすい言葉での説明
- カテゴリ(1xxから5xx)で瞬時にフィルタ
- 無料、高速、登録不要
プロのヒント
- 5xxコードは厳密にサーバー側の障害のためだけに予約し、クライアントの入力エラーを示すために使用しないでください
- レート制限を行う際はRetry-Afterヘッダー付きで429を使用し、マナーの良いクライアントが再試行のタイミングを分かるようにしてください
- リソースが本当に存在しない場合は、汎用的なエラーページよりも404を優先してください——これはユーザーにも検索エンジンにも有益です
- APIを設計する際は、すべてを汎用的な400にするのではなく、特定の4xxコード(422、409、400)を選んでください
避けるべきよくある間違い
- 実際には失敗したリクエストに対して200 OKを返し、監視ツールからエラーを隠してしまう
- 401(未認証)と403(認証済みだが未承認)を混同する
- 本来は永続的であるべきリダイレクトに302を使用し、SEOに悪影響を与える
- クライアント側のエラー処理で特定のコードによって分岐せず、すべての4xxおよび5xxエラーを同じように扱う
重要な用語の説明
- ステータスライン:ステータスコードと短い理由句を含む、HTTPレスポンスの最初の行
- 冪等性(べきとうせい):同じリクエストを繰り返しても、一度だけ行った場合と同じ効果になる特定のHTTPメソッドの性質
- リダイレクトチェーン:ブラウザが最終的なリソースに到達するまでにたどる複数のリダイレクトの連鎖
- レート制限:クライアントが特定の時間枠内で行えるリクエスト数を制限すること。しばしば429で示される
関連コンセプト
- JSONフォーマッター:
- JSONバリデーター:
- 正規表現テスター:
- URLエンコーダー/デコーダー:
- Base64エンコーダー/デコーダー:
例
「429」を検索すると「Too Many Requests」が表示されます — レート制限を超えたときにAPIが返すコードで、速度を落として遅延後に再試行するよう伝えています。
結果の解釈方法
HTTPステータスコードは先頭の数字で5つのクラスに分類されます。1xxは情報用で、アプリケーションコードではほとんど見かけません。2xxは成功を示します — 200 OKが最も一般的ですが、REST APIでは201 Createdや204 No Contentも頻繁に使われます。3xxはリダイレクトを扱い、301(恒久)と302(一時)が最も重要です。
4xxエラーはクライアントのリクエストに問題があることを示します。最も一般的なのは、400 Bad Request(構文エラー)、401 Unauthorized(未認証)、403 Forbidden(権限なし)、404 Not Found(リソースが存在しない)、429 Too Many Requests(レート制限超過)です。特定の4xxコードを正しく使うことで、すべてに汎用の400を返すよりもはるかにデバッグしやすいAPIになります。
5xxエラーはサーバー側の障害を意味します。500は内部エラー全般、502 Bad Gatewayは上流サーバーの問題、503 Service Unavailableは通常、サーバーの過負荷またはメンテナンス中を意味します。5xxエラーのデバッグでは、クライアント側の応答ではなくサーバーログを確認してください。ステータスコードだけでは根本原因を明らかにできないことがほとんどです。

