メインコンテンツへスキップ

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

すべての HTTP ステータス コードの検索可能なリファレンス - それぞれの意味、いつ使用されるか、および一般的な原因。 100から511まで。

読み込み後はオフラインでも動作

61件のステータスコード

100

続行

サーバーがリクエストヘッダーを受け取り、クライアントは本文で続行する必要があります。

Expect: 100-continueリクエストで使用されます。サーバーがクライアントから本文を受け取る意思があることを確認します。最新のWebアプリではほとんど見られません。

RFC 9110 ↗
101

プロトコルの切り替え

サーバーがクライアントからリクエストされたプロトコルに切り替えています。

最も一般的にはWebSocketアップグレードに使用されます。クライアントがUpgrade: websocketをリクエストし、サーバーが101で応答してプロトコルを切り替えます。

RFC 9110 ↗
102

処理中

サーバーがリクエストを受け取り、処理中ですが、まだレスポンスはありません。

WebDAV中間レスポンスで、長時間の操作中にクライアント タイムアウトを防ぐために送信されます。廃止予定です。最新のサーバーは送信しないはずです。

RFC 2518 ↗
103

早期ヒント

最終レスポンスの前に送信された予備ヘッダー。

サーバーが最終レスポンスを準備している間にLinkヘッダー(プリロード/プリコネクト)を送信できるため、ブラウザが重要なアセットの取得を早期に開始できます。

RFC 8297 ↗
200

OK

リクエストが成功しました。

標準的な成功レスポンス。意味はHTTPメソッドによって異なります:GET →リソースが返される、POST/PUT →アクションが完了しました。

RFC 9110 ↗
201

作成済み

新しいリソースが正常に作成されました。

POSTの後に一般的です。レスポンスに新しいリソースのURLを指すLocationヘッダーが含まれている必要があります。

RFC 9110 ↗
202

受理

リクエストは処理のために受け入れられましたが、処理は完了していません。

非同期操作の場合。サーバーが作業をキューに入れています。クライアントはステータスエンドポイントをポーリングするか、後で確認する必要があります。

RFC 9110 ↗
203

非権威情報

レスポンスが変換プロキシで変更されました。

リクエストは成功しましたが、仲介者(キャッシングまたは変換プロキシなど)がオリジンサーバーのペイロードを変更しました。例えば、画像を再圧縮したなど。実際には稀です。

RFC 9110 ↗
204

コンテンツなし

リクエストは成功しましたが、レスポンス本体がありません。

DELETE操作またはレスポンス本体を返す必要がないPUT更新に頻繁に使用されます。クライアントは現在のページから移動しないでください。

RFC 9110 ↗
205

コンテンツのリセット

リクエストは成功しました。クライアントはドキュメント ビューをリセットする必要があります。

204と同様にレスポンス本体はありませんが、クライアントはリクエストを生成したフォームまたはビューをリセットするよう指示されます(例えば、次のエントリ用にフォームフィールドをクリアします)。

RFC 9110 ↗
206

部分的な内容

サーバーがリソースの一部のみを配信しました。

Rangeリクエストへのレスポンス。ビデオプレイヤーとダウンロード マネージャーが中断されたダウンロードを再開したり、大きなファイルをストリーミングしたりするために使用されます。

RFC 9110 ↗
207

マルチステータス

レスポンス本体には複数の操作の複数のステータスコードが含まれています。

WebDAV:XMLボディは複数の副操作の結果を個別に報告します。例えば、一部の項目は成功し、他の項目が失敗した場合の一括移動など。

RFC 4918 ↗
208

既に報告済み

コレクションのメンバーは既にレスポンスの前の部分でリストされています。

WebDAV:207マルチステータス レスポンス内で使用され、バインディングがループを作成する場合に同じコレクションのメンバーを繰り返しリストするのを避けます。

RFC 5842 ↗
226

IM使用済み

レスポンスはリソースに適用されたインスタンス操作の結果です。

デルタエンコード:サーバーはリソース全体の代わりに前のバージョンに対する差分を返し、帯域幅を節約します。非常に稀に実装されます。

RFC 3229 ↗
300

複数の選択肢

リソースの複数の表現が利用可能です。

サーバーが複数のオプション(異なる形式や言語など)を提供し、クライアントが1つを選択する必要があります。自動コンテンツ ネゴシエーションが通常処理するため、ほとんど使用されません。

RFC 9110 ↗
301

永久に移動しました

リソースが永久に新しいURLに移動しました。

永続的なURL変更に使用。検索エンジンはインデックスを更新します。SEOオーソリティが新しいURLに転送されます。

RFC 9110 ↗
302

見つかりました(一時リダイレクト)

リソースは一時的に異なるURLにあります。

リダイレクトが永続的ではないことを示します。キャッシングは301ほど積極的ではありません。「ログイン必須、/loginにリダイレクト」のような場合に使用します。

RFC 9110 ↗
303

他を参照してください

異なるURLへのリダイレクト(GETを使用)。

POST送信後に使用。レスポンスは「POSTが機能しました。結果のためこのGET URLを参照してください」と示します。ブラウザは常に新しいURLをGETします。

RFC 9110 ↗
304

未修正

キャッシュされたバージョンは依然有効です。使用してください。

条件付きリクエストへのレスポンス(If-None-MatchまたはIf-Modified-Sinceヘッダー付き)。帯域幅を節約します。本体は返されません。

RFC 9110 ↗
307

一時リダイレクト

302と同様ですが、元のHTTPメソッドを保存します。

元のリクエストがPOSTの場合、リダイレクトもPOSTを使用します。メソッド保存が重要な場合の302の最新代替案。

RFC 9110 ↗
308

永続リダイレクト

301と同様ですが、元のHTTPメソッドを保存します。

メソッド保存が必要な場合の301の最新代替案。リダイレクト後もPOSTリクエストはPOSTのままです。

RFC 9110 ↗
400

不正なリクエスト

サーバーは構文が不正なためリクエストを理解できませんでした。

一般的な原因:本文のJSONが不正な形式、無効なクエリパラメータ、または必須フィールドが欠落しています。リクエスト本文とヘッダーを確認してください。

RFC 9110 ↗
401

未認可

認証が必要で、提供されていません。

クライアントは認証資格情報(Authorizationヘッダー、Cookie、トークン)を含める必要があります。「未認可」は誤称です。実は「未認証」を意味します。

RFC 9110 ↗
402

支払いが必要です

将来の使用のために予約されています。有料APIティアに使用されることがあります。

元々デジタル決済を意図しています。最新の使用方法:APIはユーザーが有料クォータを超えた場合に402を返すことがあります。

RFC 9110 ↗
403

禁止

クライアントは認証されていますが、パーミッションがありません。

401と異なり、ユーザーはログインしていますが、アカウントにはこのリソースに対するパーミッションがありません。ロール/パーミッションのロジックを確認してください。

RFC 9110 ↗
404

見つかりません

リクエストされたリソースは存在しません。

URLが間違っているか、リソースが削除されたか、存在しない可能性があります。サーバーは403がより正確である場合でも404を返すことがあります。

RFC 9110 ↗
405

メソッドが許可されていません

使用されるHTTPメソッドはこのリソースに対して許可されていません。

例えば、POSTのみを受け付けるエンドポイントへのGETリクエスト。レスポンスには有効なメソッドをリストするAllowヘッダーを含める必要があります。

RFC 9110 ↗
406

許容されません

表現がクライアントのAcceptヘッダーに一致しません。

クライアントがサーバーが満たせないコンテンツ タイプ、言語、またはエンコーディング(Accept、Accept-Language、Accept-Encodingを経由)をリクエストしました。多くのサーバーは厳密なネゴシエーションをスキップして代わりにデフォルトを返します。

RFC 9110 ↗
407

プロキシ認証が必要です

クライアントはプロキシで最初に認証する必要があります。

401と同様ですが、プロキシから発行:クライアントはProxy-Authorization認証情報を送信する必要があります。認証プロキシを持つ企業ネットワークで見られます。

RFC 9110 ↗
408

リクエストタイムアウト

サーバーはリクエストの受信を待ってタイムアウトしました。

クライアントがリクエストボディを送信するのに時間がかかりすぎるか、接続がアイドル状態でした。もう一度リクエストを試してください。

RFC 9110 ↗
409

競合

リクエストはリソースの現在の状態と競合しています。

通常、同時編集の競合またはリソース作成の重複(例:既存のメールアドレスを持つユーザーを作成する)に対して返されます。

RFC 9110 ↗
410

削除済み

リソースは削除され、復旧しません。

404より強力です。サーバーはリソースが以前存在していたことを明示的に認識していますが、永続的に削除されています。検索エンジンはインデックスを削除します。

RFC 9110 ↗
411

長さが必須

サーバーはContent-Lengthヘッダーが必須です。

リクエストはContent-Lengthヘッダーがなく、サーバーは未知のサイズのボディを拒否するため、拒否されました。ヘッダーを追加してもう一度試してください。

RFC 9110 ↗
412

前提条件が失敗

リクエストヘッダーの条件が満たされていません。

If-MatchやIf-Unmodified-Sinceのような条件付きヘッダーが失敗した場合に返されます。通常は楽観的ロックによるもので、取得した後に他の誰かがリソースを変更しています。もう一度取得してリトライしてください。

RFC 9110 ↗
413

ペイロードが大きすぎます

リクエストボディはサーバーのサイズ制限を超えています。

大きなファイルをアップロードするときに一般的です。サーバー構成(nginx、apache)が最大ボディサイズを設定します。サーバーの構成を確認してください。

RFC 9110 ↗
414

URIが長すぎます

リクエストURLはサーバーの長さ制限を超えています。

通常、非常に長いクエリ文字列(例:GETでデータをエンコードする)によって引き起こされます。POSTボディに切り替えるか、サーバーを管理している場合はサーバーの制限を上げてください。

RFC 9110 ↗
415

サポートされていないメディアタイプ

サーバーは送信されたContent-Typeを処理できません。

たとえば、application/xmlをapplication/jsonのみを受け入れるサーバーに送信します。Content-Typeヘッダーを正しく設定してください。

RFC 9110 ↗
416

範囲は満たされない

リクエストされたバイト範囲はリソースのサイズ外です。

Rangeヘッダーはファイルが持っていない部分を要求します。たとえば、ファイルの終わりを超えてダウンロードを再開します。応答にはContent-Rangeと実際のサイズを含める必要があります。

RFC 9110 ↗
417

期待が失敗

サーバーはExpectヘッダーの要件を満たすことができません。

サーバーがExpect: 100-continueをサポートしていない場合に送信されます。一部のクライアントは大きなPOSTでデフォルトでこのヘッダーを送信します。無効にすると通常はエラーが解決します。

RFC 9110 ↗
418

ティーポット

サーバーはティーポットであるため、コーヒーを淹れることを拒否します。

1998年のエイプリルフール(RFC 2324)からのジョークです。一部の実際のAPIはジョークまたは廃止されたエンドポイントをマークするために使用します。本番環境では使用しません。

RFC 2324 ↗
421

誤ったリクエスト

リクエストは応答を作成できないサーバーに送信されました。

HTTP/2接続の再利用で一般的:リクエストはターゲットホスト名用に構成されていないサーバーに達しました。クライアントは新しい接続でリトライすることをお勧めします。

RFC 9110 ↗
422

処理できないコンテンツ

リクエストは構文的に正しいが、意味的に間違っています。

たとえば、JSONは正しく解析されましたが、必須フィールドが不足していました。または、フィールド値が範囲外でした。REST API検証応答で一般的です。

RFC 9110 ↗
423

ロック済み

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

WebDAV:ソースまたはデスティネーションリソースは別のクライアントによってロックされているため、操作を続行できません。ロックが解放されるのを待つか、適切なトークンで破棄してください。

RFC 4918 ↗
424

失敗した依存関係

リクエストは前の従属リクエストが失敗したため失敗しました。

WebDAV:従属操作のチェーンで、以前のアクションが失敗したため、このアクションは実行されませんでした。根本原因については、以前の失敗を確認してください。

RFC 4918 ↗
425

早すぎます

サーバーは再生される可能性のあるリクエストの処理を拒否します。

TLS 1.3 0-RTT(早期データ)に関連:サーバーは再送された可能性のあるリクエストを処理するリスクを避けます。クライアントはハンドシェイク完了後にリトライしてください。

RFC 8470 ↗
426

アップグレード必須

クライアントは別のプロトコルに切り替える必要があります。

サーバーは現在のプロトコルではリクエストを処理しませんが、アップグレード後であれば処理します。応答には必要なプロトコルを示すUpgradeヘッダーが含まれます。

RFC 9110 ↗
428

前提条件が必須

サーバーはリクエストが条件付きであることを必須とします。

サーバーは更新の消失による競合を防ぐため、条件付きヘッダー(If-Matchなど)を要求します。リソースを取得し、ETagを控えて、If-Matchを付けて再送信してください。

RFC 6585 ↗
429

リクエストが多すぎます

クライアントはレート制限されています。

減速してください。応答には、いつ再度試すかを示すRetry-Afterヘッダーが含まれます。リクエストクォータを持つAPIで一般的です。

RFC 6585 ↗
431

リクエストヘッダーフィールドが大きすぎます

ヘッダーがサーバーで処理するには大きすぎます。

1つのヘッダーまたはヘッダーの合計サイズが制限を超えています。ほとんどの場合、サイズの大きすぎるCookieが原因です。Cookieをクリアするか、アプリが保存する内容を減らしてください。

RFC 6585 ↗
451

法的理由により利用できません

法的要求により、アクセスが拒否されました。

リソースは法的理由(検閲、裁判所命令、地域の規制)でブロックされています。この番号は小説『華氏451度』へのオマージュです。

RFC 7725 ↗
500

内部サーバーエラー

サーバーは予期しない状況が発生しました。

サーバー側エラー全般を表す汎用コードです。実際の原因についてはサーバーログを確認してください:未処理の例外、データベースエラーなど。

RFC 9110 ↗
501

実装されていません

サーバーはリクエストされた機能をサポートしていません。

たとえば、サーバーはHTTPメソッドを認識しません。実際には珍しいことです。より多くの場合、405が表示されます。

RFC 9110 ↗
502

不正なゲートウェイ

サーバー(ゲートウェイとして動作)は、上流サーバーから不正な応答を受け取りました。

マイクロサービスアーキテクチャで一般的です。ロードバランサーまたはリバースプロキシは、バックエンドサービスから不正な応答を受け取りました。

RFC 9110 ↗
503

サービス利用不可

サーバーは一時的にリクエストを処理できません。

ダウンしているか、保守中であるか、過負荷になっています。応答にはRetry-Afterヘッダーが含まれます。多くの場合、デプロイ中に返されます。

RFC 9110 ↗
504

ゲートウェイタイムアウト

ゲートウェイサーバーは上流応答を待ってタイムアウトしました。

バックエンドサービスが十分に高速に応答しませんでした。上流サービスの健全性とタイムアウト構成を確認してください。

RFC 9110 ↗
505

HTTPバージョンはサポートされていません

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

リクエストの主要なHTTPバージョンはサーバーでサポートされていません。最新のクライアントではほぼ表示されません。

RFC 9110 ↗
506

バリアントもネゴシエーションを行う

サーバーにはコンテンツネゴシエーションの誤構成があります。

透過的なコンテンツネゴシエーションはループで終了しました:選択されたバリアントは自分自身をネゴシエートするように構成されています。サーバー構成エラーを示します。

RFC 2295 ↗
507

ストレージ不足

サーバーはディスク容量が不足しています。

起源はWebDAV固有ですが、時々一般的なサーバーで使用されます。サーバーはストレージの制約のためリクエストを保存できないことを意味します。

RFC 4918 ↗
508

ループが検出されました

サーバーはリクエストの処理中に無限ループを検出しました。

WebDAV:Depth: infinityリクエストの処理中にループ(例:循環バインディング)が発生しました。操作は終了しました。

RFC 5842 ↗
510

拡張されていません

リクエストへの追加の拡張が必要です。

廃止されたHTTP拡張フレームワークから:サーバーはリクエストを履行する前に詳細情報が必要です。最新のWebでは効果的に使用されていません。

RFC 2774 ↗
511

ネットワーク認証が必須

クライアントはネットワークアクセスを得るために認証する必要があります。

キャプティブポータル(ホテル/空港Wi-Fi)で使用されて、ユーザーが外部サイトにアクセスする前にネットワークにログインする必要があることを示します。

RFC 6585 ↗

主な用途

  • APIデザイン向けのリファレンスREST APIを設計するときは、各応答に対して正しいステータスコードを選択します。
  • エラーコードをすばやく検索するアプリが混乱したHTTPエラーを返す場合は、それが実際に何を意味するのかを確認します。
  • HTTPステータスコードを学ぶHTTPとRESTを学んでいる学生と開発者向けの包括的なリファレンス。
  • インシデント中のクイックリファレンス本番インシデント中は、各ステータスコードの意味をすばやく検索します。
  • API ドキュメントリファレンスAPI ドキュメントを作成する際には、返されるステータス コードの権限のある説明にリンクしてください。

使い方

このツールは、全5クラス(1xx〜5xx)にわたる63のHTTPステータスコードのハードコードされたルックアップテーブルを中心に構築されたクライアントサイドのリファレンスです。それぞれに定義元のRFC番号が付記されています。サーバー呼び出し、外部API、ネットワークリクエストは一切ありません — すべてのフィルタリングと表示は、JavaScript標準の配列・文字列メソッドを使ってブラウザ内で行われます。

  1. 1
    ルックアップテーブルが読み込まれる
    IANAに登録された63のステータスコードの完全なセットが、このツールに直接JavaScript配列として埋め込まれています。各エントリには数値コード、正式な英語名、カテゴリークラス、それを定義する具体的なRFC(例:ほとんどのHTTP/1.1コードにはRFC 9110、429 Too Many RequestsにはRFC 6585、418 I'm a TeapotにはRFC 2324)が含まれます。
  2. 2
    フィルタリングはメモリ内で実行される
    入力するかカテゴリーフィルターを選ぶと、JavaScriptのArray.filterがメモリ内のリストに対して実行され、String.includesを使ってクエリをステータスコード番号、正式名、短い・長い説明文字列と照合します — デバウンスの遅延もサーバーとのやり取りもありません。
  3. 3
    詳細はRFCリンク付きで展開される
    各結果はHTMLのdetails/summary要素として描画されます。エントリを展開すると詳しい説明とrfc-editor.orgの正式なRFCへの直接リンクが表示され、任意のコードの正確な仕様文書を読むことができます。
  4. 4
    ディープリンクとクリップボードへのコピー
    エントリを開くとURLハッシュがコード番号(例:#404)に更新され、ページを共有しやすくブックマークしやすくします。コピーボタンは正式な文字列(例:'404 Not Found')をブラウザのnavigator.clipboard APIを介してクリップボードに書き込みます。

関連ツール

よくある質問