開発者

HTTPステータスコード検索

200、404、500など、あらゆるHTTPステータスコードを検索し、その意味とサーバーがいつそれを返すのかを分かりやすい言葉で確認できます。

このツールは役に立ちましたか?

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問題をトラブルシューティングする

手順:

  1. 検索ボックスにステータスコード(404など)またはキーワード(「forbidden」など)を入力します。
  2. 特定の範囲を閲覧したい場合は、1xx-5xxボタンを使ってカテゴリ別にフィルタします。
  3. そのコードが何を意味し、通常どのような場合に返されるかについての分かりやすい説明を読みます。
  4. 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で示される

関連コンセプト

例

「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エラーのデバッグでは、クライアント側の応答ではなくサーバーログを確認してください。ステータスコードだけでは根本原因を明らかにできないことがほとんどです。

よくある質問

HTTPステータスコードの範囲ごとの意味は何ですか?
1xxコードは情報提供、2xxは成功、3xxはリダイレクトを示し、4xxはクライアントがエラーを起こした(存在しないページをリクエストしたなど)ことを意味し、5xxはサーバー自体が有効なリクエストを処理できなかったことを意味します。
401と403の違いは何ですか?
401 Unauthorizedは認証されていない(または認証情報が無効)ことを意味します — サーバーはあなたが誰か分かりません。403 Forbiddenはサーバーがあなたが誰か分かっているが、そのリソースにアクセスする権限がないことを意味します。
明らかに読み込みに失敗したページに対して、なぜ200が表示されることがあるのですか?
これは通常、サーバーが有効なHTTPレスポンス(そのため200 OK)を返したものの、そのレスポンスのアプリケーションレベルの内容がエラーを説明していることを意味します——エラー詳細をステータスコードではなくレスポンスボディに記載するAPIによく見られるパターンです。
301リダイレクトと302リダイレクトの違いは何ですか?
301 Moved Permanentlyはブラウザや検索エンジンに記録を更新し、今後は新しいURLを使用するよう伝えます。302 Foundは一時的なリダイレクトを示します — 今後のリクエストでも元のURLを引き続き使用すべきです。
HTTPステータスコードの範囲ごとの意味は何ですか?
429は、クライアントが一定期間内にリクエストを送りすぎたことを示します。サーバーは、クライアントに再試行のタイミングを知らせるRetry-Afterヘッダーを含めることがあります。このコードに遭遇した場合は、指数バックオフを実装してください。
401と403の違いは何ですか?
503は、サーバーがリクエストを一時的に処理できないことを意味します。通常は過負荷またはメンテナンスが原因です。500とは異なり、これは解決されることが想定されています。サーバーはRetry-Afterヘッダーを含めることがあります。
明らかに読み込みに失敗したページに対して、なぜ200が表示されることがあるのですか?
418はRFC 2324(1998年)でエイプリルフールの冗談として定義されました。実在するステータスコードですが、実際にはめったに使われません。一部のサーバーは、無効なリクエストに対するユーモアのある応答としてこれを返します。
301リダイレクトと302リダイレクトの違いは何ですか?
404は、サーバーが要求されたリソースを見つけられないことを意味します。これは最も一般的なクライアントエラーです。リンク切れ、URLの入力ミス、移動または削除されたリソースを示している可能性があります。
429 Too Many Requests とは何ですか?
CORS(クロスオリジンリソース共有)のプリフライトリクエストは、成功すると204 No Contentを返します。サーバーが適切なCORSヘッダーで応答しない場合、ブラウザはステータスが200でも応答をブロックし、コンソールにはネットワークエラーとして表示されます。
503 Service Unavailable とは何ですか?
検索ボックスに数値コード(404など)またはキーワード(「forbidden」や「timeout」など)を入力します。また、1xx–5xxボタンを使ってカテゴリ別にフィルタし、特定の範囲を閲覧することもできます。
418 I'm a Teapot とは何ですか?
418はRFC 2324(1998年)でエイプリルフールの冗談として定義されました。実在するステータスコードですが、実際にはめったに使われません。一部のサーバーは、無効なリクエストに対するユーモアのある応答としてこれを返します。

さらに多くのツールを見る

ツールライブラリ全体から厳選したおすすめです。