HTTPステータスコード リファレンス

IANAレジストリにあるすべてのHTTPステータスコード(100〜511)を検索できる一覧です。理由句、定義しているRFC、使われる場面の分かりやすい解説を掲載しています。

64 件中 64 件
  • 100ContinueRFC 9110

    サーバーはリクエストヘッダーを受け取りました。クライアントはボディの送信を続けられます(Expect: 100-continue への応答)。

  • 101Switching ProtocolsRFC 9110

    サーバーが Upgrade ヘッダーの要求どおりにプロトコルを切り替えます(例: WebSocket)。

  • 102ProcessingRFC 2518

    WebDAV: サーバーは時間のかかるリクエストを処理中で、まだ応答はありません。

  • 103Early HintsRFC 8297

    最終レスポンスの前に送られ、ブラウザーが Link ヘッダーのリソースを先読みできるようにします。

  • 104Upload Resumption Supporteddraft-ietf-httpbis-resumable-upload暫定登録

    再開可能アップロードのドラフト: 中断したアップロードの再開に対応しています。

  • 200OKRFC 9110

    リクエストは成功しました。ボディには要求したリソースか処理結果が入ります。

  • 201CreatedRFC 9110

    新しいリソースが作成されました。その URL は通常 Location ヘッダーに示されます。

  • 202AcceptedRFC 9110

    リクエストは受け付けられましたが、処理はまだ完了していません(非同期ジョブ)。

  • 203Non-Authoritative InformationRFC 9110

    成功しましたが、内容は変換プロキシによって変更されています。

  • 204No ContentRFC 9110

    成功・ボディなし。DELETE やデータ保存でよく使われます。

  • 205Reset ContentRFC 9110

    成功。クライアントはリクエストを送ったフォームや画面をリセットすべきです。

  • 206Partial ContentRFC 9110

    Range ヘッダーの指定どおり、リソースの一部だけを返します(レジューム可能なダウンロード、動画のシーク)。

  • 207Multi-StatusRFC 4918

    WebDAV: ボディに複数リソースそれぞれのステータスコードが含まれます。

  • 208Already ReportedRFC 5842

    WebDAV: バインディングのメンバーはこのレスポンス内で既に列挙済みです。

  • 226IM UsedRFC 3229

    差分エンコーディング: リソースにインスタンス操作を適用した結果を返します。

  • 300Multiple ChoicesRFC 9110

    複数の表現が利用可能で、クライアントが選択できます。

  • 301Moved PermanentlyRFC 9110

    リソースは Location の URL へ恒久的に移動しました。検索エンジンは評価を引き継ぎます。クライアントは POST を GET に変えることがあります。

  • 302FoundRFC 9110

    リソースは一時的に別の URL にあります。元の URL を使い続けてください。クライアントは POST を GET に変えることがあります。

  • 303See OtherRFC 9110

    別の URL を GET で参照してください。フォーム送信後によく使われます(Post/Redirect/Get パターン)。

  • 304Not ModifiedRFC 9110

    キャッシュは引き続き有効です(If-None-Match / If-Modified-Since による条件付きリクエスト)。ボディは送られません。

  • 305Use ProxyRFC 9110非推奨

    非推奨: リソースへはプロキシ経由でアクセスする必要がありました。セキュリティ上の理由で使われません。

  • 306(Unused)RFC 9110予約済み・未使用

    予約済み。以前のドラフトで使われ、現在は使用されていません。

  • 307Temporary RedirectRFC 9110

    メソッドとボディを保ったままの一時的なリダイレクト(POST は POST のまま)。

  • 308Permanent RedirectRFC 9110

    メソッドとボディを保ったままの恒久的なリダイレクト(POST は POST のまま)。

  • 400Bad RequestRFC 9110

    リクエストの形式が不正なため処理できません(構文エラー、無効なパラメーター、無効な JSON など)。

  • 401UnauthorizedRFC 9110

    認証が必要か、認証に失敗しました。レスポンスには WWW-Authenticate ヘッダーが含まれます。

  • 402Payment RequiredRFC 9110

    将来のために予約。一部の API は支払いやクォータの問題に使っています。

  • 403ForbiddenRFC 9110

    サーバーはリクエストを理解しましたが拒否しています。再ログインしても解決しません。

  • 404Not FoundRFC 9110

    この URL にリソースは存在しません(またはサーバーが存在を明かしたくない)。

  • 405Method Not AllowedRFC 9110

    このリソースではその HTTP メソッドは使えません。Allow ヘッダーに有効なメソッドが示されます。

  • 406Not AcceptableRFC 9110

    クライアントの Accept ヘッダーに合う表現がありません。

  • 407Proxy Authentication RequiredRFC 9110

    401 と同様ですが、プロキシでの認証が必要です。

  • 408Request TimeoutRFC 9110

    クライアントのリクエスト送信に時間がかかりすぎたため、サーバーが接続を閉じました。

  • 409ConflictRFC 9110

    リクエストがリソースの現在の状態と競合しています(編集の競合、重複など)。

  • 410GoneRFC 9110

    リソースは恒久的に削除され、戻ることはありません。404 より明確な意味を持ちます。

  • 411Length RequiredRFC 9110

    サーバーは Content-Length ヘッダーを必要としています。

  • 412Precondition FailedRFC 9110

    If-Match や If-Unmodified-Since などの前提条件を満たしていません(楽観的ロック)。

  • 413Content Too LargeRFC 9110

    リクエストボディがサーバーの受け付けるサイズを超えています(アップロード上限)。

  • 414URI Too LongRFC 9110

    URL がサーバーで処理できる長さを超えています。

  • 415Unsupported Media TypeRFC 9110

    ボディのメディアタイプ(Content-Type)はサポートされていません。

  • 416Range Not SatisfiableRFC 9110

    要求された Range に応えられません(例: ファイルの末尾より後から始まっている)。

  • 417Expectation FailedRFC 9110

    Expect ヘッダーの期待に応えられません。

  • 418(Unused)RFC 9110予約済み・未使用

    予約済み・未使用。エイプリルフールの RFC 2324「I’m a teapot」で知られています。

  • 421Misdirected RequestRFC 9110

    このホストに応答できないサーバーにリクエストが届きました(再利用された HTTP/2 接続など)。

  • 422Unprocessable ContentRFC 9110

    構文は正しいものの、内容が意味的に不正です(バリデーションエラー)。

  • 423LockedRFC 4918

    WebDAV: リソースはロックされています。

  • 424Failed DependencyRFC 4918

    WebDAV: 依存していた処理が失敗したため、このリクエストも失敗しました。

  • 425Too EarlyRFC 8470

    リプレイされる恐れのあるリクエストの処理を拒否します(TLS 1.3 の early data)。

  • 426Upgrade RequiredRFC 9110

    クライアントは Upgrade ヘッダーに示された別のプロトコルへ切り替える必要があります。

  • 428Precondition RequiredRFC 6585

    更新の消失を防ぐため、サーバーは条件付きリクエスト(If-Match)を要求しています。

  • 429Too Many RequestsRFC 6585

    一定時間内のリクエストが多すぎます(レート制限)。Retry-After で再試行できる時期が示されます。

  • 431Request Header Fields Too LargeRFC 6585

    リクエストヘッダー(または Cookie など特定のヘッダー)が大きすぎます。

  • 451Unavailable For Legal ReasonsRFC 7725

    裁判所の命令や検閲など、法的な理由でリソースを提供できません。

  • 500Internal Server ErrorRFC 9110

    サーバーで予期しない一般的なエラーが発生しました。

  • 501Not ImplementedRFC 9110

    必要な機能をサーバーがサポートしていません(未知のメソッドなど)。

  • 502Bad GatewayRFC 9110

    ゲートウェイまたはプロキシが上流サーバーから無効な応答を受け取りました。

  • 503Service UnavailableRFC 9110

    サーバーが一時的に過負荷かメンテナンス中です。Retry-After が送られることがあります。

  • 504Gateway TimeoutRFC 9110

    ゲートウェイまたはプロキシが上流サーバーから時間内に応答を得られませんでした。

  • 505HTTP Version Not SupportedRFC 9110

    リクエストで使われた HTTP バージョンはサポートされていません。

  • 506Variant Also NegotiatesRFC 2295

    コンテンツネゴシエーションの設定ミス: 選ばれたバリアント自体がネゴシエーションを行っています。

  • 507Insufficient StorageRFC 4918

    WebDAV: リクエストを完了するためのストレージが不足しています。

  • 508Loop DetectedRFC 5842

    WebDAV: 処理中に無限ループを検出しました。

  • 510Not Extended (OBSOLETED)RFC 2774非推奨

    廃止: リクエストにさらなる拡張が必要でした(HTTP Extension Framework)。

  • 511Network Authentication RequiredRFC 6585

    ネットワークを利用するには認証が必要です(Wi-Fi のキャプティブポータルなど)。

IANA の HTTP ステータスコードレジストリに登録されたすべてのコードと、それを定義する RFC を掲載しています。理由句は通信上そのまま使われるため英語で表示しています。一部製品が使う未登録コード(499、520〜527 など)は含みません。

HTTPステータスコードとは?

IANAに登録されている64種類すべてのHTTPステータスコードを、100 Continueから511 Network Authentication Requiredまで、検索できる形でまとめた完全なリファレンスです。各項目には、正式な理由句、定義しているRFC、その意味とサーバーが返す場面の簡単な説明が載っており、非推奨や未使用のコードにはその旨の印があります。

HTTPステータスコードの使い方

  1. 検索ボックスに、コード(404)、コードの一部(30)、単語(redirect、timeout)を入力します。
  2. クラスで絞り込みます。1xx 情報、2xx 成功、3xx リダイレクト、4xx クライアントエラー、5xx サーバーエラーです。
  3. 各コードの理由句、RFC、解説を確認します。

例

入力
418
出力
418 (Unused) · RFC 9110 · reserved and unused; known from the "I’m a teapot" April Fools’ RFC 2324.

HTTPステータスコードを使うべき場面

APIのデバッグ、サーバーログの読み取り、自分のエンドポイントがどのステータスを返すかを決めるときに使います。特定の製品が使う非公式のコード(Nginxの499、Cloudflareの520〜527、IISの440)はレジストリにないため、掲載していません。

HTTPステータスコードの仕組み

一覧は、IANA HTTP Status Code Registryを反映しています。このレジストリは2022年以降、大部分がRFC 9110(HTTP Semantics)と、WebDAV(RFC 4918)やRFC 6585などの拡張によって定義されています。検索は、コードの先頭、英語の理由句、現在の言語での解説に対して、すべてローカルで一致を探します。

一般的な使用例

  • APIエラーで、401と403、または400と422のどちらを使うかを決める。
  • ログに出てきた425 Too Earlyや421 Misdirected Requestを調べる。
  • 削除したページには404より410 Goneが適している理由を、クライアントに説明する。
  • リダイレクトでPOSTメソッドを維持する必要があるときに、307か308を選ぶ。

よくある質問

401と403の違いは何ですか。

401は未認証(または認証情報が失敗した)ことを意味し、WWW-Authenticateが付きます。403は、サーバーがあなたが誰かを把握したうえで、許可されていないことを意味します。

418 I'm a teapotは実在のステータスコードですか。

レジストリでは予約済みで、RFC 9110では未使用とされています。1998年のエイプリルフールのRFCから、多くのライブラリが実装しているためです。

422が現在Unprocessable Contentと呼ばれるのはなぜですか。

RFC 9110で、WebDAVからコアのHTTPに移され、Unprocessable Entityから名称が変更されたためです。

他のカテゴリを見る