HTTP ステータスコード辞典
200 / 401 / 404 / 500 などの HTTP ステータスコードを日本語で一覧。 番号・英名・日本語名・説明から検索できます。
- 100Continue/ 継続
リクエストヘッダの受領を確認、ボディ送信を継続してよい。
💡 クライアントが Expect: 100-continue を送ったときの肯定応答。
- 101Switching Protocols/ プロトコル切替
Upgrade ヘッダの要求に応じプロトコルを切り替える。
💡 WebSocket への昇格時に使われる。
- 103Early Hints/ 早期ヒント
本応答前に Link ヘッダ等を先行送信。
💡 CSS / JS の preload 指示でブラウザを先回り動作させる。
- 200OK/ 成功
リクエストは成功し、本文に結果が含まれる。
💡 GET / POST 等のもっとも一般的な成功応答。
- 201Created/ 作成
リクエストが成功し新しいリソースが作成された。
💡 POST でリソースを新規作成したとき。Location ヘッダを併用。
- 202Accepted/ 受理
リクエストを受け付けたが処理は完了していない。
💡 非同期ジョブをキューに投入したとき。
- 204No Content/ 内容無し
成功したが返すボディが無い。
💡 DELETE 成功、PUT 更新など。レスポンスボディは空。
- 206Partial Content/ 部分的内容
Range リクエストに対する部分的なレスポンス。
💡 動画のシーク再生、レジューム可能なダウンロード。
- 301Moved Permanently/ 恒久的移動
URL が恒久的に移動した。クライアントはブックマーク等を更新すべき。
💡 ドメイン引っ越し、HTTPS 化。SEO のシグナルが引き継がれる。
- 302Found/ 一時的移動
一時的に別の URL に移動。次回も元 URL を使う。
💡 歴史的に POST 後のリダイレクトに使われたが厳密には 303 を推奨。
- 303See Other/ 他を参照
別の URL を GET で取得すべき。
💡 POST 成功後にリダイレクトしたいときの正解。PRG パターン。
- 304Not Modified/ 未更新
条件付きリクエストに対しキャッシュが有効と通知。ボディ無し。
💡 If-Modified-Since / If-None-Match (ETag) と組み合わせる。
- 307Temporary Redirect/ 一時リダイレクト
一時的に別 URL へ。メソッドを変更してはいけない。
💡 POST を POST のままリダイレクトしたいとき (302 と違いメソッド維持)。
- 308Permanent Redirect/ 恒久的リダイレクト
恒久的に別 URL へ。メソッドを変更してはいけない。
💡 301 のメソッド維持版。POST を POST のまま転送。
- 400Bad Request/ 不正なリクエスト
構文エラーなどでサーバーがリクエストを解釈できない。
💡 JSON パース失敗、必須パラメータ不足。
- 401Unauthorized/ 未認証
認証が必要、または認証情報が無効。
💡 実体は「未認証」。WWW-Authenticate ヘッダで認証方式を返すのが慣例。
- 403Forbidden/ 禁止
認証はされているが権限が無い。
💡 管理画面に一般ユーザーがアクセスしたときなど。
- 404Not Found/ 見つからない
リソースが存在しない、または非公開。
💡 一番有名なエラー。存在の有無を隠したいとき 403 の代わりにも。
- 405Method Not Allowed/ メソッド不許可
URL は存在するがそのメソッドは許可されていない。
💡 読み取り専用 URL に POST したときなど。Allow ヘッダ併用。
- 406Not Acceptable/ 受理不能
Accept ヘッダで指定された形式で応答できない。
💡 JSON 専用 API に Accept: application/xml が来たとき。
- 408Request Timeout/ リクエストタイムアウト
クライアントの送信が遅すぎてサーバーが待ちきれない。
- 409Conflict/ 競合
リソースの現在の状態と矛盾するリクエスト。
💡 楽観ロックで他者が先に更新していたとき。
- 410Gone/ 消滅
リソースが恒久的に削除された。404 と違い「もう戻らない」。
💡 クローラーにインデックス削除を促したいとき。
- 413Payload Too Large/ ボディが大きすぎる
リクエストボディがサーバーの上限を超えている。
💡 アップロード上限超過。
- 414URI Too Long/ URI が長すぎる
URL が長すぎる。
💡 巨大なクエリ文字列。POST に変えるべきサイン。
- 415Unsupported Media Type/ メディアタイプ非対応
Content-Type が API で対応していない形式。
- 418I'm a teapot/ 私はティーポット
エイプリルフール RFC (RFC 2324) のジョーク。
💡 「コーヒーは淹れられない」。実運用でも稀にイースターエッグで使う。
- 422Unprocessable Content/ 処理不能なエンティティ
構文は正しいが意味的に処理できない(バリデーションエラー)。
💡 FastAPI / Rails 等が入力検証エラーで返す。400 を細分化したいとき便利。
- 423Locked/ ロック中
リソースが他者により編集ロックされている (WebDAV)。
- 425Too Early/ 早すぎる
リプレイされる可能性のある初期データを処理拒否。
💡 TLS 1.3 0-RTT でリプレイ攻撃を避けたいとき。
- 426Upgrade Required/ アップグレード要求
現プロトコルでは応答せず、上位プロトコルへ切り替えを要求。
- 428Precondition Required/ 事前条件必須
条件付きリクエストでないと処理しない。
💡 失われた更新を防ぐため If-Match を必須にする運用。
- 429Too Many Requests/ リクエスト過多
レート制限に到達。
💡 Retry-After ヘッダで再試行までの秒数を返すと親切。
- 431Request Header Fields Too Large/ ヘッダが大きすぎる
ヘッダ全体または個別ヘッダが大きすぎる。
💡 Cookie の肥大化、巨大な Authorization ヘッダ等。
- 451Unavailable For Legal Reasons/ 法的理由により利用不可
法律・行政命令によりアクセスをブロック。
💡 GDPR / 著作権削除要請に基づく削除など。
- 500Internal Server Error/ サーバー内部エラー
サーバー内で予期しないエラーが発生した汎用 5xx。
💡 スタックトレースをそのまま返さず汎用化したログを返す。
- 501Not Implemented/ 未実装
サーバーがそのリクエストの処理方法を実装していない。
- 502Bad Gateway/ 不正ゲートウェイ
プロキシ / ロードバランサが上流サーバーから不正な応答を受けた。
💡 アプリサーバーが落ちている / 異常応答を返したとき。
- 503Service Unavailable/ サービス利用不可
サーバーが一時的に過負荷またはメンテナンス中。
💡 Retry-After ヘッダで復帰目安を返す。
- 504Gateway Timeout/ ゲートウェイタイムアウト
プロキシが上流サーバーから時間内に応答を得られなかった。
💡 バックエンド処理が長すぎる、ネットワーク断。
- 505HTTP Version Not Supported/ HTTP バージョン非対応
リクエストの HTTP バージョンをサーバーがサポートしていない。
- 507Insufficient Storage/ ストレージ不足
リクエストを完了するためのストレージが不足 (WebDAV)。
- 508Loop Detected/ ループ検出
サーバーが処理中に無限ループを検出 (WebDAV)。
- 511Network Authentication Required/ ネットワーク認証必須
ネットワークアクセスのための認証が必要。
💡 公衆 Wi-Fi のキャプティブポータル。