| 1xx 情報応答 |
|---|
| Continue | サーバーがリクエストヘッダーを受信し、クライアントはボディを送信できます。 | 大きなボディをアップロードする前の事前チェックの後。 |
| Switching Protocols | サーバーがクライアントの要求したプロトコルへの切り替えに同意しました。 | HTTP接続をWebSocketへアップグレードするとき。 |
| Processing | サーバーがリクエストを受信し、まだ処理中です。 | WebDAVサーバーが長いリクエストを確認し、クライアントのタイムアウトを防ぐとき。 |
| Early Hints | サーバーが最終レスポンスの準備ができる前に暫定ヘッダーを送ります。 | ページのレンダリング中にブラウザがアセットをプリロードできるようにするとき。 |
| 2xx 成功 |
|---|
| OK | リクエストが成功し、レスポンスボディに結果が入ります。 | GETやPUTの標準的な成功。 |
| Created | リクエストが成功し、新しいリソースが作成されました。 | 何かを生成するPOSTが成功した後に返す。 |
| Accepted | リクエストは処理のために受理されましたが、まだ完了していません。 | 長時間のジョブが開始され、非同期で実行されているとき。 |
| Non-Authoritative Information | リクエストは成功しましたが、返されたデータは途中で変換されています。 | プロキシやキャッシュがオリジンではなく改変されたメタデータを返すとき。 |
| No Content | リクエストが成功し、返すボディはありません。 | DELETEの成功、または返す内容のないPUT。 |
| Reset Content | リクエストが成功し、クライアントは送信元のビューをリセットすべきです。 | フォーム送信の後、ページにフィールドのクリアを指示するとき。 |
| Partial Content | サーバーは要求どおりリソースの一部のみを返します。 | Rangeリクエストのバイト範囲を提供するとき。 |
| 3xx リダイレクト |
|---|
| Moved Permanently | リソースには恒久的な新しいURLがあり、以後のリクエストはそれを使うべきです。 | ページが移動し、検索エンジンがインデックスを更新する必要があるとき。 |
| Found | リソースは一時的に別のURLにありますが、元のURLを使い続けてください。 | 一時的にログインページへリダイレクトするとき。 |
| See Other | 答えは別のURLにあり、GETで取得しなければなりません。 | PRGパターン。POSTを結果ページへリダイレクトし、更新での再送信を防ぐ。 |
| Not Modified | キャッシュされたコピーがまだ有効なため、サーバーはボディを送りません。 | クライアントのキャッシュが最新の条件付きGET。 |
| Use Proxy | リクエストはレスポンスで指定されたプロキシ経由で送られなければなりません。 | レガシーなプロキシネットワーク。2011年以降は非推奨。 |
| Temporary Redirect | リソースは一時的に別の場所にあり、元のリクエストメソッドを保持しなければなりません。 | 302と同様だが、リダイレクトでもPOSTはPOSTのまま。 |
| Permanent Redirect | リソースには恒久的な新しいURLがあり、元のリクエストメソッドを保持しなければなりません。 | 301と同様だが、リダイレクトでもPOSTはPOSTのまま。 |
| 4xx クライアントエラー |
|---|
| Bad Request | 不正な構文のため、サーバーがリクエストを理解できませんでした。 | 不正なJSON、または必須フィールドの欠落。 |
| Unauthorized | 認証が必要であり、欠けていたか失敗しました。 | トークンなし、または無効・期限切れのトークン。 |
| Payment Required | リクエストには支払いが必要ですが、仕様はその方法を定義していません。 | ペイウォールの目印として使うAPIもあります。ほとんどは使いません。 |
| Forbidden | クライアントは認証済みですが、このリソースへのアクセスは許可されていません。 | ログインは有効だが、このリソースへの権限がないとき。 |
| Not Found | サーバーにはこのURLのリソースがありません。 | 不明なURL、または存在しないID。 |
| Method Not Allowed | URLは存在しますが、使用されたリクエストメソッドを許可していません。 | GETのみ受け付けるエンドポイントへのPOST。 |
| Not Acceptable | サーバーはクライアントのAcceptヘッダーに合うコンテンツを返せません。 | クライアントはXMLのみ要求したが、APIはJSONしか返さないとき。 |
| Proxy Authentication Required | クライアントはリクエストを進める前にプロキシで認証する必要があります。 | 企業プロキシが未認証のリクエストを拒否するとき。 |
| Request Timeout | クライアントの送信が遅すぎて、サーバーが待つのをやめました。 | ボディの到着が完了する前に止まったアップロード。 |
| Conflict | リクエストがリソースの現在の状態と競合しています。 | 重複するメールアドレス、または同じレコードの編集競合。 |
| Gone | リソースはかつて存在しましたが、恒久的に削除されました。 | 意図的に廃止されたエンドポイント。404より強い意味。 |
| Length Required | リクエストにはContent-Lengthヘッダーが必要ですが、ありません。 | 事前にサイズを知る必要があるサーバーがストリーミングボディを拒否するとき。 |
| Precondition Failed | If-Matchなどのヘッダー事前条件がfalseと評価されました。 | クライアントが読んだ後でレコードが変わった楽観的編集。 |
| Content Too Large | リクエストボディがサーバーの受け入れ上限を超えています。 | サーバーの最大ボディサイズを超えるアップロード。 |
| URI Too Long | リクエストURLがサーバーが解釈を許容する長さを超えています。 | フォームが誤ってGETのクエリ文字列にシリアライズされ、際限なく伸びた場合。 |
| Unsupported Media Type | リクエストボディの形式が、エンドポイントが受け入れるものではありません。 | JSON専用エンドポイントへのContent-Type: text/plainのPOST。 |
| Range Not Satisfiable | Rangeヘッダーのバイト範囲がリソースに収まりません。 | ダウンロード再開時にファイル終端を超えたバイトを要求するとき。 |
| Expectation Failed | サーバーはExpectヘッダーで示された期待に応えられません。 | サーバーが100-continueの期待を拒否するとき。 |
| I'm a teapot | サーバーは急須であり、コーヒーを入れることを拒みます。 | 1998年のエイプリルフールの冗談が消えずに残ったもの。APIが遊びで返します。 |
| Misdirected Request | リクエストが、それに対するレスポンスを生成できないサーバーに送られました。 | 再利用された接続が、このサーバーが扱わないホストへ向かったとき。 |
| Unprocessable Entity | リクエストは整形式ですが、その値が意味的検証に失敗します。 | フィールドがビジネスルールに違反する有効なJSON。 |
| Too Early | サーバーはリプレイの危険があるリクエストを拒否します。 | 鍵のローテーション前に再試行された非冪等なリクエストの拒否。 |
| Upgrade Required | このリソースを使うには、クライアントは別のプロトコルへ切り替える必要があります。 | TLSやWebSocketを必須とするエンドポイント。 |
| Precondition Required | サーバーは、リクエストが送らなかった条件付きヘッダーを要求します。 | 失われた更新を防ぐためにIf-Matchを要求するAPI。 |
| Too Many Requests | クライアントが一定の時間枠内に多数のリクエストを送信しました。 | レート制限に到達。バックオフして再試行。 |
| Request Header Fields Too Large | 1つ以上のヘッダーフィールドが大きすぎて処理できません。 | 肥大化したクッキーやトークンがサイトへの全リクエストを妨げるとき。 |
| Unavailable For Legal Reasons | リソースは削除要求や地域制限などの法的理由でブロックされています。 | 政府による削除要求、または特定の国でブロックされたページ。 |
| 5xx サーバーエラー |
|---|
| Internal Server Error | サーバーが予期しない状態に遭遇し、失敗しました。 | サーバー上の未処理の例外やバグ。 |
| Not Implemented | サーバーは要求されたメソッドや機能をサポートしていません。 | エンドポイントが宣言だけでまだ実装されていないとき。 |
| Bad Gateway | ゲートウェイやプロキシが上流サーバーから無効なレスポンスを受け取りました。 | リバースプロキシがバックエンドに到達できなかったとき。 |
| Service Unavailable | サーバーが一時的にリクエストを処理できません。 | メンテナンス、過負荷、または依存サービスのダウン。 |
| Gateway Timeout | ゲートウェイやプロキシが上流サーバーから時間内にレスポンスを得られませんでした。 | バックエンドが遅すぎてプロキシが諦めたとき。 |
| HTTP Version Not Supported | サーバーはリクエストのHTTPバージョンをサポートしていません。 | サーバーが学習したことのないプロトコルバージョンで話すクライアント。 |
| Variant Also Negotiates | 透過的コンテンツネゴシエーションが循環参照に終わりました。 | 実験的なコンテンツネゴシエーションを行う設定ミスのサーバー。 |
| Insufficient Storage | サーバーはリクエスト完了に必要な表現を保存できません。 | 割り当てられたストレージがいっぱいのWebDAVサーバー。 |
| Loop Detected | サーバーはリクエスト処理中に無限ループに陥りました。 | 自分自身を参照するWebDAVバインディング。 |
| Network Authentication Required | アクセスを得るにはクライアントはネットワークで認証する必要があります。 | ホテルや空港のキャプティブポータルがリクエストを横取りするとき。 |