サーバーがリクエストヘッダーを受信し、クライアントが本文を送信できる状態です。大きな本文をアップロードする前に「Expect: 100-continue」を送ると返されます。
RFC 9110で定義
サーバーが、クライアントのUpgradeヘッダーで要求されたプロトコルへの切り替えに同意しました。接続をWebSocketに切り替える場合などに返されます。
RFC 9110で定義
サーバーはWebDAVリクエストを受け付けましたが、処理はまだ完了していません。後のWebDAV仕様では廃止され、現在はほとんど使われていません。
RFC 2518で定義
最終応答の前に送信され、Linkヘッダーに記載されたリソースの先読みをブラウザーが開始できるようにします。CDNやサーバーがページの読み込みを速めるために使います。
RFC 8297で定義
リクエストは成功し、応答に結果が含まれています。ページの読み込みやAPI呼び出しの成功時に返される通常の応答です。
RFC 9110で定義
リクエストは成功し、新しいリソースが作成されました。通常はLocationヘッダーでリソースを識別します。レコードを作成するPOSTの成功後などに返されます。
RFC 9110で定義
リクエストは処理対象として受け付けられましたが、まだ完了していません。エクスポートやバッチ処理など、作業をキューに入れるAPIで使われます。
RFC 9110で定義
203 Non-Authoritative Information リクエストは成功しましたが、変換プロキシによってオリジンサーバーから返されたコンテンツが変更されています。
RFC 9110で定義
リクエストは成功し、返すコンテンツはありません。DELETEリクエストや、クライアントが応答本文を必要としないデータ保存でよく使われます。
RFC 9110で定義
リクエストは成功し、クライアントは文書表示をリセットする必要があります。たとえばフォームをクリアする場合に使います。使用頻度は低いコードです。
RFC 9110で定義
サーバーは、クライアントが要求したバイト範囲のみを返します。動画のストリーミングやダウンロードの再開、クライアントがRangeヘッダーを送信した場合などに返されます。
RFC 9110で定義
複数のリソースそれぞれのステータスコードを、XML本文に含めて返すWebDAVの応答です。
RFC 4918で定義
WebDAVの207応答内で使われ、同じバインド済みリソースのメンバーが再度一覧に含まれるのを防ぎます。
RFC 5842で定義
サーバーが現在のリソースにインスタンス操作(差分エンコーディングなど)を適用しました。ほとんど見かけないコードです。
RFC 3229で定義
リソースに複数の表現があり、クライアントがその中から選ぶ必要があります。実際にはほとんど使われません。
RFC 9110で定義
リソースはLocationヘッダーに示されたURLへ恒久的に移転しました。ブラウザーや検索エンジンはリンクを更新します。追従時にPOSTをGETへ変更するクライアントもあります。
RFC 9110で定義
リソースはLocationヘッダーに示された別のURLに一時的に移転しています。ログイン後や短期間のリダイレクトでよく使われ、ブラウザーは通常GETで追従します。
RFC 9110で定義
クライアントは別のURLからGETで結果を取得する必要があります。フォームのPOST後に確認ページへリダイレクトする場合に使われます(Post/Redirect/Getパターン)。
RFC 9110で定義
キャッシュ済みのコピーがまだ有効なため、サーバーは本文を送信しません。ブラウザーがIf-None-MatchまたはIf-Modified-Sinceを使ってキャッシュ済みファイルを再検証すると返されます。
RFC 9110で定義
Locationヘッダーに示されたプロキシを使うようクライアントに求めます。セキュリティ上の理由で非推奨となっており、ブラウザーは無視します。
RFC 9110で定義
予約済み。HTTP/1.1の初期草案で使われていましたが、現在は使用されていません。
RFC 9110で定義
リソースが一時的に別のURLへ移動しています。クライアントは同じメソッドと本文でリクエストを再送する必要があります。ブラウザーがHSTSによりHTTPSへ内部リダイレクトする際にも使われます。
RFC 9110で定義
リソースが恒久的に移動しました。クライアントは新しいURLに対して同じメソッドと本文を使う必要があります。307の恒久的な対応コードで、POSTリクエストのリダイレクトにも安全に使えます。
RFC 9110で定義
リクエストの形式が正しくないため、サーバーは処理できません。無効なJSON、不正なクエリパラメーター、破損したCookieなどが原因です。
RFC 9110で定義
有効な認証情報がリクエストに含まれていません。名称とは異なり「未認証」を意味します。サーバーはログイン方法を示すWWW-Authenticateヘッダーを送信します。
RFC 9110で定義
HTTP仕様では将来の使用のために予約されています。一部のAPIや決済サービスでは、支払いやサブスクリプションが必要な場合に使われます。
RFC 9110で定義
サーバーはリクエストを理解しましたが、処理を拒否しています。再ログインしても解決しません。権限不足、ディレクトリ一覧の無効化、ファイアウォールによるクライアントのブロックなどで発生します。
RFC 9110で定義
サーバーは要求されたリソースを見つけられません。リンクの入力ミスや古さ、ページの削除、APIルートの誤りなどが一般的な原因です。
RFC 9110で定義
リソースは存在しますが、使用されたHTTPメソッドには対応していません。たとえば、読み取り専用のURLへのPOSTです。許可されているメソッドはAllowヘッダーに示されます。
RFC 9110で定義
サーバーは、クライアントのAcceptヘッダーに記載されたどの形式でもレスポンスを生成できません。
RFC 9110で定義
407 Proxy Authentication Required 401と同様ですが、クライアントはまずプロキシで認証する必要があります。認証プロキシを使う企業ネットワークで発生します。
RFC 9110で定義
サーバーがリクエストの送信完了を待っている間にタイムアウトしました。接続が遅い場合や中断された場合に発生します。
RFC 9110で定義
リクエストがリソースの現在の状態と競合しています。編集内容の競合や、すでに存在するものを作成しようとした場合などに発生します。
RFC 9110で定義
リソースは恒久的に削除されており、復元されることはありません。404とは異なり、検索エンジンにURLをより早く削除するよう伝えます。
RFC 9110で定義
サーバーはContent-Lengthヘッダーを要求していますが、リクエストに含まれていません。
RFC 9110で定義
If-Matchなど、リクエストヘッダーで指定された条件が満たされませんでした。クライアントが最後に読み取ってから変更されたリソースを上書きしないようにするために使われます。
RFC 9110で定義
リクエスト本文がサーバーの受け入れ可能なサイズを超えています。nginxのclient_max_body_sizeなどで設定された上限を超えるファイルをアップロードした場合に発生します。
RFC 9110で定義
URLが長すぎてサーバーが処理できません。GETで大量のデータを送信するフォームや、パラメーターを繰り返し追加するリダイレクトループが原因となることがあります。
RFC 9110で定義
415 Unsupported Media Type サーバーはリクエスト本文の形式に対応していません。たとえば、application/jsonを想定するエンドポイントにXMLを送信した場合です。
RFC 9110で定義
416 Range Not Satisfiable Rangeヘッダーで要求されたバイト範囲が、リソースのサイズを超えています。
RFC 9110で定義
サーバーはクライアントのExpectヘッダーで指定された要件を満たせません。
RFC 9110で定義
1998年のHyper Text Coffee Pot Control Protocolに由来するエイプリルフールのジョークで、コーヒーを淹れるのを拒否するティーポットを表します。HTTPでは未使用コードとして予約されていますが、一部のサーバーはイースターエッグとして、または不要なボットを拒否するために返します。
RFC 2324 / RFC 9110 (Unused)で定義
標準コードではありません。Laravelでは、フォームのCSRFトークンがない、または期限切れの場合に返されます。通常、セッションのタイムアウト後に発生します。
Laravelで定義
標準コードではありません。旧Twitter APIではレート制限に使われていました。標準コードは429です。
Twitter API v1で定義
リクエストは、このホストへのレスポンスを生成できないサーバーに届きました。たとえば、HTTP/2接続が別のドメインに再利用された場合に発生します。
RFC 9110で定義
422 Unprocessable Content リクエストの形式は正しいものの、内容が無効です。検証ルールに違反したフォームなどが該当します。APIでは入力検証エラーによく使われます。
RFC 9110で定義
WebDAVのリソースがロックされており、変更できません。
RFC 4918で定義
依存する別の処理が失敗したため、WebDAVのリクエストも失敗しました。
RFC 4918で定義
リプレイされる可能性のあるリクエストは処理されません。TLS 1.3の早期データで送信されたリクエストなどが該当します。
RFC 8470で定義
サーバーは現在のプロトコルでのリクエストを拒否し、必要なプロトコルをUpgradeヘッダーで示します。
RFC 9110で定義
428 Precondition Required 更新の消失を防ぐため、サーバーは条件付きリクエスト(If-Matchなど)を要求しています。
RFC 6585で定義
クライアントが一定時間内に送信したリクエストが多すぎます。APIではレート制限に使われ、再試行のタイミングを示すRetry-Afterヘッダーが含まれることもあります。
RFC 6585で定義
431 Request Header Fields Too Large リクエストヘッダーが大きすぎます。Cookieの数が多い、またはサイズが大きい場合によく発生します。通常、サイトのCookieを削除すると解決します。
RFC 6585で定義
標準コードではありません。nginxが内部で使い、レスポンスを送信せずに接続を閉じます。不要なトラフィックを遮断する場合などに使われ、クライアントが実際に受け取ることはありません。
nginxで定義
451 Unavailable For Legal Reasons 裁判所命令や政府による検閲など、法的な理由でリソースを利用できません。番号は小説『華氏451度』に由来します。
RFC 7725で定義
494 Request Header Too Large 標準コードではありません。リクエストヘッダーがnginxのバッファー制限を超えたときに記録される、431に相当するnginx独自のコードです。
nginxで定義
495 SSL Certificate Error 標準コードではありません。クライアント証明書の検証に失敗した場合にnginxが返します。
nginxで定義
496 SSL Certificate Required 標準コードではありません。必須のクライアント証明書が提供されなかった場合にnginxが返します。
nginxで定義
497 HTTP Request Sent to HTTPS Port 標準コードではありません。HTTPS用に設定されたポートに通常のHTTPリクエストが送信された場合にnginxが返します。
nginxで定義
499 Client Closed Request 標準コードではありません。サーバーが応答する前にクライアントが接続を閉じた場合にnginxが記録します。ページの読み込みが遅くユーザーがキャンセルした場合や、クライアント側でタイムアウトした場合などに発生します。
nginxで定義
500 Internal Server Error サーバーで予期しないエラーが発生し、リクエストを完了できませんでした。バグ、クラッシュ、設定ミスなどによる一般的なエラーで、詳細はサーバーログに記録されています。
RFC 9110で定義
サーバーは必要な機能に対応していません。認識できないHTTPメソッドなどが該当します。
RFC 9110で定義
ゲートウェイまたはプロキシが、上流サーバーから無効なレスポンスを受け取りました。nginxやロードバランサーの背後にあるアプリケーションがクラッシュまたは再起動中の場合によく発生します。
RFC 9110で定義
過負荷やメンテナンスによる停止のため、サーバーは一時的にリクエストを処理できません。再試行のタイミングを示すRetry-Afterヘッダーが含まれることがあります。
RFC 9110で定義
ゲートウェイまたはプロキシが、アップストリームサーバーから時間内に応答を受信できませんでした。データベースクエリの処理に時間がかかるなど、バックエンドへのリクエストが遅い場合に発生します。
RFC 9110で定義
505 HTTP Version Not Supported サーバーがリクエストで使用されたHTTPバージョンに対応していません。
RFC 9110で定義
506 Variant Also Negotiates サーバーのコンテンツネゴシエーション設定エラーです。選択されたバリアント自体がネゴシエーションを行うよう設定されています。
RFC 2295で定義
サーバーはリクエストの完了に必要なデータを保存できません。たとえば、WebDAVサーバーのディスク容量がいっぱいの場合に発生します。
RFC 4918で定義
無限ループが検出されたため、サーバーがWebDAV操作を停止しました。
RFC 5842で定義
509 Bandwidth Limit Exceeded 標準コードではありません。共有ホスティング環境(Apacheモジュール、cPanelなど)で、サイトが帯域幅の上限を超えた場合に使われます。
Apache / cPanelで定義
リクエストを完了するには、追加の拡張機能が必要です。現在は歴史的な仕様となっている実験的な仕様で定義されています。
RFC 2774で定義
511 Network Authentication Required ネットワークにアクセスするには、クライアントの認証が必要です。ホテル、空港、カフェのWi-Fiで、ログイン前にキャプティブポータルから送信されます。
RFC 6585で定義
520 Web Server Returned an Unknown Error 標準コードではありません。オリジンサーバーから空の応答、不明な応答、または予期しない応答が返された場合にCloudflareが返します。
Cloudflareで定義
標準コードではありません。オリジンサーバーが接続を拒否した場合にCloudflareが返します。通常は、Webサーバーが停止しているか、CloudflareのIPアドレスをブロックしています。
Cloudflareで定義
標準コードではありません。オリジンサーバーへのTCP接続がタイムアウトした場合にCloudflareが返します。
Cloudflareで定義
523 Origin Is Unreachable 標準コードではありません。DNSやルーティングの問題などにより、オリジンサーバーに接続できない場合にCloudflareが返します。
Cloudflareで定義
標準コードではありません。オリジンサーバーへの接続後、タイムアウト時間(デフォルトで100秒)以内にHTTP応答を受信できなかった場合にCloudflareが返します。
Cloudflareで定義
標準コードではありません。オリジンサーバーとのSSL/TLSハンドシェイクに失敗した場合にCloudflareが返します。
Cloudflareで定義
526 Invalid SSL Certificate 標準コードではありません。オリジンのSSL証明書が無効で、Full (strict) SSLモードが有効な場合にCloudflareが返します。
Cloudflareで定義