HTTP ステータスコード
すべての HTTP ステータスコードをわかりやすく解説。意味、よくある原因、対処法、レスポンス例、定義している RFC をまとめています。
70 個のステータスコード
1xx 情報
暫定レスポンス:リクエストを受け取り、処理を続けています。
100 Continue 継続 サーバーがリクエストヘッダーを受け取ったので、クライアントはボディの送信を続けてよいという意味です。最終ステータスの前に送られる暫定レスポンスです。 101 Switching Protocols プロトコル切り替え クライアントが Upgrade ヘッダーで求めたプロトコル(多くは WebSocket)への切り替えにサーバーが同意したことを示します。このレスポンス以降、接続は新しいプロトコルで通信します。 102 Processing 処理中 WebDAV の暫定レスポンスで、サーバーが長いリクエストをまだ処理中なのでタイムアウトしないよう伝えます。非推奨となり、現在はほとんど使われません。 103 Early Hints アーリーヒント Link ヘッダーを先に送る暫定レスポンスで、サーバーが最終ページを生成している間にブラウザーが CSS やフォントをプリロードしたり、他のオリジンへ事前接続したりできます。
2xx 成功
リクエストは正常に受信・理解・受理されました。
200 OK 成功 リクエストが成功しました。GET ではボディにリソースが、POST では処理結果が入ります。 201 Created 作成済み リクエストが成功し、新しいリソースが作成されました。通常 Location ヘッダーがそれを指します。 202 Accepted 受理 リクエストは処理のために受け付けられましたが、処理はまだ終わっていません。レスポンス時点では結果はわかりません。 203 Non-Authoritative Information 信頼できない情報 リクエストは成功しましたが、変換プロキシがオリジンの 200 レスポンスの内容を変更しています。 204 No Content コンテンツなし リクエストは成功し、返すボディはありません。ヘッダーで新しい ETag などのメタデータを伝えることはできます。 205 Reset Content コンテンツのリセット リクエストは成功し、クライアントは文書の表示をリセットすべきです。例えば送信したフォームをクリアします。ボディは送られません。 206 Partial Content 部分的なコンテンツ Range ヘッダーの要求どおり、サーバーがリソースの一部だけを返しています。Content-Range がどのバイトを含むかを示します。 207 Multi-Status マルチステータス 1 つのリクエストで影響を受けた複数のリソースそれぞれのステータスを XML ボディに含む WebDAV のレスポンスです。 208 Already Reported 報告済み WebDAV の 207 ボディ内で、そのリソースがレスポンスの前のほうですでに列挙済みであることを示し、バインディングがループを作るときの重複を防ぎます。 226 IM Used IM 使用 サーバーが 1 つ以上のインスタンス操作(差分エンコーディング)を適用して GET に応えたため、ボディはリソース全体ではなく差分です。
3xx リダイレクト
クライアント側で追加の操作が必要です。通常は新しい URL へ移動します。
300 Multiple Choices 複数の選択肢 リソースに複数の表現(言語や形式)があり、クライアントまたはユーザーが選ぶ必要があります。サーバーは Location で推奨を示すことがあります。 301 Moved Permanently 恒久的な移動 リソースは Location の URL に恒久的に移動しました。クライアントと検索エンジンは今後新しい URL を使うべきです。 302 Found 一時的な移動 リソースは一時的に別の URL にあります。クライアントは今後も元の URL を使い続けるべきです。 303 See Other 他を参照 サーバーがクライアントに別の URL を GET で取得するよう指示します。典型的には POST の結果を表示するためです。 304 Not Modified 未更新 クライアントが持っているキャッシュはまだ有効なので、サーバーはボディを送りません。If-None-Match や If-Modified-Since 付きの条件付きリクエストへの応答です。 305 Use Proxy プロキシ使用 非推奨です。かつては Location のプロキシ経由でリクエストを繰り返すよう指示していました。セキュリティ上の理由でブラウザーは無視します。 307 Temporary Redirect 一時的リダイレクト リソースは一時的に別の URL にあり、クライアントは同じメソッドとボディでそこへリクエストをやり直す必要があります。 308 Permanent Redirect 恒久的リダイレクト リソースは恒久的に移動し、クライアントは新しい URL へ同じメソッドとボディでリクエストをやり直す必要があります。
4xx クライアントエラー
リクエストに問題があり、クライアント側で修正が必要です。
400 Bad Request 不正なリクエスト リクエストの形式が不正なためサーバーが処理できません。構文の誤り、不正なフレーミング、解析できない値などです。 401 Unauthorized 認証が必要 リクエストに有効な認証情報がありません。名前は Unauthorized ですが意味は「未認証」で、ログインするか有効なトークンを送る必要があります。 402 Payment Required 支払いが必要 将来の利用のために予約されていますが、実際には支払いや有料プランが必要なときにサービスが返します。 403 Forbidden 禁止 サーバーはリクエストを理解しましたが、許可を拒否しています。権限が変わらない限り、ログインし直しても解決しません。 404 Not Found 見つかりません 要求された URL に何も見つかりません。リソースがかつて存在したか、今後戻るかについては何も示しません。 405 Method Not Allowed 許可されていないメソッド URL は存在しますが、使われた HTTP メソッドに対応していません。Allow ヘッダーが使えるメソッドを示します。 406 Not Acceptable 受理できない クライアントの Accept ヘッダーが許すどの形式でも、サーバーはレスポンスを生成できません。 407 Proxy Authentication Required プロキシ認証が必要 クライアントとサーバーの間のプロキシが、リクエストを転送する前に認証を求めています。 408 Request Timeout リクエストタイムアウト クライアントが時間内に完全なリクエストを送らなかったため、サーバーが接続を閉じました。 409 Conflict 競合 リクエストがリソースの現在の状態と競合しています。重複や同時編集などです。 410 Gone 消滅 リソースは恒久的に消え、転送先もわかりません。404 と違い、サーバーが意図的にそう宣言しています。 411 Length Required 長さが必要 サーバーは Content-Length ヘッダーを要求していますが、リクエストに含まれていません。 412 Precondition Failed 前提条件の失敗 If-Match や If-Unmodified-Since などリクエストヘッダーの前提条件が偽と評価されたため、サーバーはリクエストを適用しませんでした。 413 Content Too Large コンテンツが大きすぎる リクエストボディがサーバーの処理できる、または処理したい大きさを超えています。以前は Payload Too Large と呼ばれていました。 414 URI Too Long URI が長すぎる リクエスト URL がサーバーの解釈できる長さを超えています。 415 Unsupported Media Type サポートされないメディアタイプ ボディのメディアタイプ(Content-Type)またはエンコーディングに対応していないため、サーバーがリクエストを拒否しました。 416 Range Not Satisfiable 範囲が不正 Range ヘッダーがリソースのサイズを超えるバイトを要求しています。 417 Expectation Failed 期待に応えられない サーバーがリクエストの Expect ヘッダーの要求(通常は Expect: 100-continue)を満たせません。 418 I'm a teapot 私はティーポット Hyper Text Coffee Pot Control Protocol に由来するエイプリルフールのジョークで、サーバーはティーポットなのでコーヒーを淹れられないという意味です。冗談やボット対策に使うサイトもあります。 421 Misdirected Request 誤ったリクエスト先 そのホストに応答するよう設定されていないサーバーにリクエストが届きました。HTTP/2 の接続が別のドメインに再利用されたことが原因の場合が多いです。 422 Unprocessable Content 処理できないコンテンツ リクエストの形式は正しいものの意味的な誤りがあり、サーバーが処理できません。以前は Unprocessable Entity と呼ばれていました。 423 Locked ロック中 WebDAV:リソースがロックされているため、メソッドを適用できません。 424 Failed Dependency 依存関係の失敗 WebDAV:同じリクエスト内で依存していた別の操作が失敗したため、この操作も失敗しました。 425 Too Early 早すぎる TLS 1.3 のアーリーデータ(0-RTT)で送られたリクエストはリプレイされる恐れがあるため、サーバーが処理を拒否しました。 426 Upgrade Required アップグレードが必要 サーバーは現在のプロトコルでのリクエストを拒否し、Upgrade ヘッダーで示した TLS や HTTP/2 などへのアップグレードを求めています。 428 Precondition Required 前提条件が必要 更新の消失を防ぐため、サーバーはリクエストが条件付き(If-Match など)であることを求めています。 429 Too Many Requests リクエスト過多 クライアントが一定時間内に多すぎるリクエストを送りました(レート制限)。Retry-After で待つ時間が示されることがあります。 431 Request Header Fields Too Large リクエストヘッダーが大きすぎる リクエストヘッダーが大きすぎます。1 つのヘッダーか、全体の合計のどちらかです。 451 Unavailable For Legal Reasons 法的理由により利用不可 裁判所命令や政府の検閲など法的な理由で、サーバーはリソースを提供できません。番号は『華氏 451 度』にちなんでいます。 499 Client Closed Request (非標準) クライアントがリクエストを閉じた サーバーがレスポンスを送る前にクライアントが接続を閉じたとき、nginx が 499 を記録します。クライアントがこのコードを目にすることはありません。
5xx サーバーエラー
有効なリクエストをサーバーが処理できませんでした。
500 Internal Server Error サーバー内部エラー サーバーが予期しない状態に陥り、リクエストを完了できませんでした。サーバー側エラー全般を表す汎用コードです。 501 Not Implemented 未実装 サーバーが必要な機能、典型的にはリクエストメソッド自体に対応していません。 502 Bad Gateway 不正なゲートウェイ ゲートウェイまたはプロキシが、リクエストを転送した上流サーバーから無効なレスポンスを受け取りました。 503 Service Unavailable サービス利用不可 過負荷やメンテナンスのため、サーバーは一時的にリクエストを処理できません。Retry-After で再試行の時期が示されることがあります。 504 Gateway Timeout ゲートウェイタイムアウト ゲートウェイまたはプロキシが上流サーバーから時間内にレスポンスを受け取れませんでした。 505 HTTP Version Not Supported HTTP バージョン未対応 サーバーはリクエストで使われた HTTP バージョンに対応していません。 506 Variant Also Negotiates バリアントもネゴシエート 透過的コンテンツネゴシエーションの設定ミスです。選ばれたバリアント自体がネゴシエートするよう設定されており、ループになっています。 507 Insufficient Storage 容量不足 リクエストの完了に必要な表現をサーバーが保存できません(ディスク容量やクォータ不足)。WebDAV に由来します。 508 Loop Detected ループを検出 Depth: infinity のリクエスト(WebDAV)の処理中にサーバーが無限ループを検出しました。リソース制限に使うホスティングもあります。 510 Not Extended 拡張が必要 サーバーがリクエストを満たすにはさらに拡張が必要です(HTTP 拡張フレームワーク)。このフレームワークは現在では歴史的なものです。 511 Network Authentication Required ネットワーク認証が必要 ネットワークにアクセスするには認証が必要です。典型的にはキャプティブポータル(ホテルや空港の Wi-Fi)です。 520 Web Server Returned an Unknown Error (非標準) 不明なエラー Cloudflare 固有:オリジンサーバーが空、不明、または予期しないレスポンスを返しました。 521 Web Server Is Down (非標準) Web サーバーがダウン Cloudflare 固有:オリジンサーバーが接続を拒否しました。 522 Connection Timed Out (非標準) 接続タイムアウト Cloudflare 固有:オリジンへの TCP 接続がタイムアウトしました。 523 Origin Is Unreachable (非標準) オリジンに到達できない Cloudflare 固有:通常は DNS やルーティングの問題で、Cloudflare がオリジンに到達できません。 524 A Timeout Occurred (非標準) タイムアウト発生 Cloudflare 固有:オリジンへの接続はできましたが、オリジンが時間内(デフォルト 100 秒)に HTTP レスポンスを送りませんでした。 525 SSL Handshake Failed (非標準) SSL ハンドシェイク失敗 Cloudflare 固有:Cloudflare とオリジンの間の TLS ハンドシェイクが失敗しました。 526 Invalid SSL Certificate (非標準) 無効な SSL 証明書 Cloudflare 固有:Full (strict) SSL モードで、オリジンの証明書が無効、期限切れ、自己署名、またはホスト名と一致しません。