HTTPステータスコード一覧

番号・名前・意味で絞り込める早見表。標準コードに加え、nginx・Cloudflare・IIS などの非標準コードも収録しています。

✨ できること

  • 番号・英語名・日本語の意味のどれでも絞り込める(404 でも Not Found でも「見つからない」でも探せる)
  • 1xx〜5xx の分類と「非標準のみ」で切り替え。標準コード以外に nginx・Cloudflare・IIS・AWS ELB のコードも収録
  • キャッシュしてよいか・本文を持てるかをコード別に表示。204 や 304 に本文を入れて壊す事故を防げる
  • 301 と 308、404 と 410、502 と 504 のような紛らわしい組み合わせに、選び方の実務メモを添えている

🪄 こんなときに

ログに知らないコードが出た

499 や 520 のように標準にない番号も収録しているので、どのソフトウェアが返したのかがすぐ分かる。

API の設計でコードを選ぶ

400 か 422 か、401 か 403 か。意味の違いと選び分けの基準を並べて確認できる。

ページを削除する前に

404 のまま放置するとどうなるか、410 との違いは何かを確認してから消せる。

リダイレクトを設定する前に

301 と 302 と 307 と 308 の違い、取り消せるかどうかを確かめてから設定できる。

🔒 プライバシー

すべてブラウザ内で動作します。入力した検索語はサーバーに送信されず、保存もされません。

❓ よくある質問

404 と 410 はどう使い分けますか?

404 は「見つからない(理由は不明)」、410 は「意図的に消した(もう戻らない)」です。検索エンジンは 404 の URL を数ヶ月〜数年にわたり再クロールし続けますが、410 なら索引から速やかに落として再クロールをやめます。自分の判断で消したページには 410 を返すのが正しい後始末です。

301 と 302 のどちらを使えばよいですか?

恒久的な移転なら 301、あとで元に戻す可能性があるなら 302(または 307)です。301 はブラウザが期限なくキャッシュするため事実上取り消せません。試験的な転送やメンテナンス中の誘導に 301 を使うと、あとでサーバー側を戻しても一度アクセスした人は新しい URL へ飛び続けます。

502 と 504 の違いは?

どちらも前段(リバースプロキシや CDN)が返しますが、502 は「後段から壊れた応答が返ってきた」、504 は「後段から応答が返ってこなかった」です。502 はアプリの停止やポート違い、504 は重いクエリや外部 API の遅延を疑います。

418 I'm a teapot は本物のコードですか?

1998 年のエイプリルフール RFC(ハイパーテキストコーヒーポット制御プロトコル)で定義されたジョークで、HTTP の標準には含まれません。ただし有名になりすぎて多くのフレームワークが定数を持っており、IETF も番号を予約したまま残すことを 2017 年に確認しています。

メンテナンス中のページは何を返すべきですか?

503 に `Retry-After` を付けて返します。200 で「メンテナンス中」と表示すると、検索エンジンはその内容を正しいページとして索引してしまいます。503 なら一時的な状態として扱われ、索引から落とされにくくなります。

エラーを 200 で返すのはなぜ良くないのですか?

本文に `{"error":...}` を入れて 200 を返すと、CDN はそれを正常な応答としてキャッシュし、監視も成功として数えるため、障害が起きても誰も気づけません。失敗は 4xx / 5xx で返してください。

🔗 関連ツール

分類

100

Continue

ここまでは問題ないので、リクエストの続きを送ってよい

クライアントが Expect: 100-continue を付けて送ったとき、サーバーがヘッダーだけを見て「本文を送ってよい」と答える中間応答。大きなファイルをアップロードする前に、認証やサイズ制限で弾かれないかを先に確かめられる。最終的な応答はこのあとに別途返る。

1xx 情報 キャッシュしない 本文を持てない

101

Switching Protocols

WebSocket などへプロトコルを切り替える

クライアントの Upgrade 要求を受け入れ、この接続を別のプロトコルに切り替えることを伝える。実際にはほぼ WebSocket のハンドシェイクで見る。切り替え後は HTTP のセマンティクスは終わり、以降は新しいプロトコルの通信になる。

1xx 情報 キャッシュしない 本文を持てない

102

Processing (WebDAV)

処理中。タイムアウトを避けるための中間応答

WebDAV で、時間のかかる操作の途中に「まだ生きている」ことを伝えるために返す中間応答。RFC 4918 で定義されたが、実装が広がらず RFC 9110 では非推奨扱いになった。同じ目的なら 103 Early Hints のほうが現実的。

1xx 情報 キャッシュしない 本文を持てない 非推奨・廃止

103

Early Hints

本応答より先に、先読みすべきリソースを伝える

本応答を組み立てている間に Link: </style.css>; rel=preload などを先に送り、ブラウザに CSS や画像の取得を始めさせる。サーバー側の生成に時間がかかるページで表示開始を早められる。Cloudflare や Fastly が対応しており、対応しないクライアントは単に無視する。

1xx 情報 キャッシュしない 本文を持てない

200

OK

成功。要求されたものを本文で返している

もっともよく見る成功応答。本文の意味はメソッドによって変わり、GET なら要求されたリソース、POST なら処理の結果を表す。API で「処理は成功したが結果は空」を返したいときは 204 のほうが正確。

実務メモ: エラーを本文の中に {"error":...} として入れて 200 で返す API は、CDN・ブラウザ・監視のどれもが成功として扱うため障害に気づけなくなる。失敗は 4xx / 5xx で返す。

2xx 成功 既定でキャッシュ可 本文あり

201

Created

リソースを新しく作った。Location に場所を入れる

POST や PUT で新しいリソースが作られたときに返す。作られた場所を Location ヘッダーで示し、本文には作成されたリソースの表現を入れるのが一般的。同じリクエストを再送したときに二重作成にならない設計(冪等キー)は別途必要。

2xx 成功 キャッシュしない 本文あり

202

Accepted

受け付けたが、処理はまだ終わっていない

非同期処理のキューに入れたときに返す。処理が成功したかどうかはこの時点では分からないので、本文や Location で進捗を確認できる URL を返すのが親切。バッチ・メール送信・動画変換などで使う。

2xx 成功 キャッシュしない 本文あり

203

Non-Authoritative Information

成功だが、途中のプロキシが本文を書き換えている

オリジンは 200 を返したが、間にいるプロキシがヘッダーや本文を加工したことを示す。企業内プロキシによる書き換えなどで使われるが、実際に見る機会はごく少ない。

2xx 成功 既定でキャッシュ可 本文あり

204

No Content

成功。返す本文は無い

処理は成功したが返すものが無いときに使う。DELETE の完了、設定の保存、既読フラグの更新などが典型。**本文を持てない**ので、ここに JSON を入れるとクライアントによっては壊れる。ブラウザは画面遷移せずその場に留まる。

2xx 成功 既定でキャッシュ可 本文を持てない

205

Reset Content

成功。入力フォームを初期状態に戻すよう指示

204 に「入力欄を空に戻せ」という指示が加わったもの。連続入力する業務フォームのために定義されたが、対応するクライアントはほとんど無く、実際には JavaScript 側でリセットするほうが確実。

2xx 成功 キャッシュしない 本文を持てない

206

Partial Content

範囲指定に応えて、一部分だけを返した

クライアントの Range ヘッダーに応えて本文の一部だけを返す。動画のシーク、ダウンロードの再開、大きなファイルの分割取得で使われる。Content-Range で返した範囲を示し、レスポンスは 200 とは別にキャッシュされる。

2xx 成功 既定でキャッシュ可 本文あり

207

Multi-Status (WebDAV)

複数の対象それぞれの結果を XML でまとめて返す

WebDAV で、複数のファイルやプロパティに対する操作の結果を 1 つの応答にまとめる。本文の XML の中に対象ごとのステータスが入っているので、全体は 207 でも個々は 404 や 423 でありうる。

2xx 成功 キャッシュしない 本文あり

208

Already Reported (WebDAV)

同じ要素は前に報告済みなので繰り返さない

207 の本文の中で、同じリソースが何度も現れるときに繰り返しを省くために使う。バインディングで循環する構造を持つ WebDAV コレクションの列挙で必要になる。

2xx 成功 キャッシュしない 本文あり

226

IM Used

差分だけを返した(デルタエンコーディング)

RFC 3229 のデルタエンコーディングで、クライアントが持っている版との差分だけを返したことを示す。帯域を節約する仕組みだが実装はほぼ普及しなかった。

2xx 成功 既定でキャッシュ可 本文あり

300

Multiple Choices

候補が複数ある。どれを使うかはクライアントが選ぶ

同じ URL に対して言語違い・形式違いの候補が複数あるときに、その一覧を返す。実際にはサーバー側で Accept-Language を見て選ぶ(サーバー駆動のコンテンツネゴシエーション)ほうが普通で、300 を返すサイトはまず無い。

3xx リダイレクト 既定でキャッシュ可 本文あり

301

Moved Permanently

恒久的に移転した。以後は新しい URL を使う

URL が恒久的に変わったことを示し、Location で移転先を伝える。検索エンジンは評価を移転先に引き継ぐので、サイト構成を変えるときの正しい手段。ブラウザはこの応答を**強くキャッシュ**し、次からはサーバーに問い合わせずに移転先へ飛ぶ。

実務メモ: 301 は事実上取り消せない。一度受け取ったブラウザは期限なしでリダイレクトを覚えるため、あとでサーバー側を戻しても、そのブラウザは新 URL へ飛び続ける。切り戻す可能性がある移転・A/B・メンテナンス中の誘導には 302 か 307 を使う。

3xx リダイレクト 既定でキャッシュ可 本文あり

302

Found (一時的な移動)

一時的に別の場所にある。元の URL は残す

一時的な転送。検索エンジンは元の URL を索引に残す。歴史的な事情で、多くのクライアントが POST を GET に変えて転送先へ行ってしまうため、メソッドを保ちたいときは 307 を使う。

3xx リダイレクト キャッシュしない 本文あり

303

See Other

処理は終わった。結果は GET で別 URL を見に行く

POST の処理後に「結果ページを GET で見に行け」と伝えるためのコード。フォーム送信 → リダイレクト → 表示(PRG パターン)にすると、再読み込みで二重送信になるのを防げる。メソッドは必ず GET に変わる。

3xx リダイレクト キャッシュしない 本文あり

304

Not Modified

変わっていないので、手元のキャッシュを使ってよい

条件付きリクエスト(If-None-Match / If-Modified-Since)に対して「前回から変わっていない」と答える。**本文を持たない**ので通信量がほぼゼロになる。ETag を返していれば自動的にこの往復が成立する。

3xx リダイレクト 条件付き 本文を持てない

305

Use Proxy

指定のプロキシ経由で取得せよ(廃止)

指定したプロキシを通して取得するよう指示するコードだったが、任意のプロキシへ誘導できる危険があるため廃止された。現在のブラウザは無視する。

3xx リダイレクト キャッシュしない 本文あり 非推奨・廃止

306

(未使用)

かつて Switch Proxy として予約されていた番号

初期の草案で使われていたが仕様から外れ、現在は予約されたまま使われない。番号の連続を保つために欠番として残っている。

3xx リダイレクト キャッシュしない 本文を持てない 非推奨・廃止

307

Temporary Redirect

一時的な転送。メソッドと本文をそのまま保つ

302 の曖昧さを解消したコードで、POST は POST のまま転送先へ送られる。HSTS の内部的な昇格や、メンテナンス中の一時的な振り替えに向く。切り戻す前提があるならこちらを選ぶ。

3xx リダイレクト キャッシュしない 本文あり

308

Permanent Redirect

恒久的な転送。メソッドと本文をそのまま保つ

301 と同じく恒久的な移転だが、メソッドを変えない。API のエンドポイント移転のように POST/PUT を保ったまま移したいときに使う。301 と同様、ブラウザに強くキャッシュされるので取り消しは効かない。

3xx リダイレクト 既定でキャッシュ可 本文あり

400

Bad Request

リクエストの形式が壊れていて処理できない

JSON が壊れている、必須パラメータが無い、ヘッダーの書式が不正など、リクエストそのものに問題があるときに返す。認証の失敗は 401、権限不足は 403、値は正しい形だが業務上受け付けられない場合は 422 のほうが正確。

4xx クライアントエラー キャッシュしない 本文あり

401

Unauthorized (実際は未認証)

認証されていない。資格情報を出し直せば通るかもしれない

名前に反して意味は「未認証」。WWW-Authenticate ヘッダーで受け付ける認証方式を示す必要がある。ログインすれば見られるページはこれ、ログイン済みでも権限が足りないなら 403。

4xx クライアントエラー キャッシュしない 本文あり

402

Payment Required

支払いが必要(長く予約のままだった番号)

長らく「将来のために予約」とされてきたが、近年は API の課金プランの上限超過や未払いを示すために実際に使われる。標準の課金フローは定義されていないので、本文で理由と復旧方法を伝える。

4xx クライアントエラー キャッシュしない 本文あり

403

Forbidden

認証は関係なく、このリソースは見せない

サーバーが要求を理解したうえで拒否した。再認証しても結果は変わらない。存在自体を隠したいときは 404 を返す運用もあるが、その場合は正規の利用者にも見つけられなくなることを承知しておく。

4xx クライアントエラー 既定でキャッシュ可 本文あり

404

Not Found

見つからない。今後どうなるかは分からない

URL に対応するものが無い。「一時的に無いのか、恒久的に消えたのか」を意図的に区別しないコードなので、クローラーはしばらく再訪して確かめ続ける。URL の打ち間違いや、まだ作っていないページに使う。

実務メモ: 「消したページは 404 にしておけば、いずれ検索エンジンが諦める」は誤り。Google は一度見つけた URL を数ヶ月〜数年にわたり再クロールし、その間クロール予算が生きているページに回らない。意図的に消したなら 410 を返す。

4xx クライアントエラー 既定でキャッシュ可 本文あり

405

Method Not Allowed

その URL では、そのメソッドは使えない

リソースは存在するが、そのメソッドは受け付けない。Allow ヘッダーで使えるメソッドを列挙することが必須。読み取り専用のエンドポイントに POST が来たときなどに返す。

4xx クライアントエラー 既定でキャッシュ可 本文あり

406

Not Acceptable

クライアントが受け付けられる形式では返せない

Accept 系ヘッダーの条件を満たす表現をサーバーが用意できないときに返す。実際には条件を無視して既定の形式を返す実装が多く、見かける機会は少ない。

4xx クライアントエラー キャッシュしない 本文あり

407

Proxy Authentication Required

プロキシに対する認証が必要

401 のプロキシ版で、Proxy-Authenticate ヘッダーを伴う。企業ネットワークの認証プロキシ配下で作業しているときに出会う。

4xx クライアントエラー キャッシュしない 本文あり

408

Request Timeout

クライアントが時間内にリクエストを送り終えなかった

接続は開いたのにリクエストが完結しないままサーバーの待ち時間を超えた。回線が細い状態での大きなアップロードや、開いたままの持続接続で起きる。504 はこれとは別で、上流の応答待ちの失敗を指す。

4xx クライアントエラー キャッシュしない 本文あり

409

Conflict

現在の状態と矛盾するので実行できない

同じメールアドレスでの二重登録、他の人が先に更新していた、すでに締め切られた、といった状態の衝突を表す。本文でどう解消すればよいかを伝えると、クライアント側で再試行の判断ができる。

4xx クライアントエラー キャッシュしない 本文あり

410

Gone

意図的に削除した。もう戻らない

404 と違い「恒久的に消した」と明言するコード。検索エンジンはこれを受け取ると索引から速やかに落とし、再クロールをやめる。ページを整理・統合したとき、移転先が無いなら 410 を返すのが正しい後始末になる。

実務メモ: 静的サイトでも実装できる。410 を返すだけの小さな Worker を対象プレフィックスにだけ通せばよく、本文はそのまま返してステータスだけ 410 にできるので、利用者の見た目を変えずにクローラーだけ止められる。

4xx クライアントエラー 既定でキャッシュ可 本文あり

411

Length Required

Content-Length が無いので受け付けない

本文の長さが分からないリクエストを拒否する。チャンク転送を受け付けないサーバーや、事前にサイズで弾きたい構成で返る。

4xx クライアントエラー キャッシュしない 本文あり

412

Precondition Failed

条件付きリクエストの前提が成り立たなかった

If-Match などで指定した条件が満たされないときに返る。「自分が読んだ版のままなら更新する」という楽観的ロックの失敗を表し、更新の取りこぼしを防ぐ仕組みとして使える。

4xx クライアントエラー キャッシュしない 本文あり

413

Content Too Large

本文が大きすぎて受け付けられない

アップロードのサイズ上限を超えた。旧称は Payload Too Large。nginx なら client_max_body_size、Cloudflare Workers ならプラン上限が原因になりやすい。一時的な制限なら Retry-After を添えられる。

4xx クライアントエラー キャッシュしない 本文あり

414

URI Too Long

URL が長すぎる

GET のクエリ文字列に大量のデータを詰めたときに起きる。多くのサーバーは 8KB 前後で打ち切る。長いデータは POST の本文に移すか、状態を保存して短い ID で参照する。

4xx クライアントエラー 既定でキャッシュ可 本文あり

415

Unsupported Media Type

その Content-Type は扱えない

JSON しか受け付けない API に text/plain で送った、対応していない画像形式をアップロードした、といったときに返る。Accept-Post などで受け付ける形式を示すと親切。

4xx クライアントエラー キャッシュしない 本文あり

416

Range Not Satisfiable

指定された範囲がファイルの外にある

Range で要求されたバイト範囲が実際の長さを超えている。ファイルが差し替わったあとに古い範囲で再開しようとした場合などに起きる。

4xx クライアントエラー キャッシュしない 本文あり

417

Expectation Failed

Expect ヘッダーの要求に応えられない

Expect: 100-continue などの期待にサーバーが応えられないときに返す。プロキシが Expect を理解しない構成で見ることがある。

4xx クライアントエラー キャッシュしない 本文あり

418

I'm a teapot

私はティーポットなのでコーヒーは淹れられない

1998 年のエイプリルフール RFC 2324(ハイパーテキストコーヒーポット制御プロトコル)で定義されたジョークコード。標準の HTTP には含まれないが、あまりに有名になったため多くのフレームワークが定数として持っている。IETF は 2017 年に「予約したまま残す」ことを確認した。

4xx クライアントエラー キャッシュしない 本文あり

419

Page Expired (Laravel)

CSRF トークンの期限切れ

Laravel が CSRF トークンの期限切れに使う非標準コード。フォームを開いたまま長時間放置して送信すると出る。標準では 400 か 403 に相当する。

4xx クライアントエラー キャッシュしない 本文あり 非標準 · Laravel

420

Enhance Your Calm (旧 Twitter)

落ち着け。レート制限に掛かっている

旧 Twitter API v1 がレート制限に使っていた非標準コードで、映画『デモリションマン』の台詞に由来する。現在は標準の 429 に置き換えられている。

4xx クライアントエラー キャッシュしない 本文あり 非標準 · Twitter API v1

421

Misdirected Request

この接続では、そのホストの要求は扱えない

HTTP/2 で複数のホスト名が 1 本の接続にまとめられたとき、証明書は合っていてもそのサーバーが対象ホストを扱えない場合に返る。クライアントは別の接続を張り直して再試行してよい。

4xx クライアントエラー キャッシュしない 本文あり

422

Unprocessable Content

形式は正しいが、内容が業務上受け付けられない

JSON としては読めるが、日付が過去だった、在庫を超えていた、といった意味の上での不備を表す。400 が「読めない」なのに対し、422 は「読めたが受け付けられない」。バリデーションエラーの返却先として広く使われる。

4xx クライアントエラー キャッシュしない 本文あり

423

Locked (WebDAV)

対象がロックされている

WebDAV で、他の利用者がロックを保持しているリソースを操作しようとしたときに返る。ロックトークンを持っていれば操作できる。

4xx クライアントエラー キャッシュしない 本文あり

424

Failed Dependency (WebDAV)

前提となる別の操作が失敗したので実行しなかった

複数の操作をまとめて依頼したとき、先の操作が失敗したためにこの操作も実行しなかったことを示す。207 の本文の中で個々の結果として現れることが多い。

4xx クライアントエラー キャッシュしない 本文あり

425

Too Early

再送の危険がある早期データは受け付けない

TLS 1.3 の 0-RTT で送られた早期データは攻撃者に再送される可能性があるため、副作用のある要求は受け付けずに再送を求める。決済のように二重実行が困る操作を守る仕組み。

4xx クライアントエラー キャッシュしない 本文あり

426

Upgrade Required

別のプロトコルに切り替えないと続けられない

サーバーが要求するプロトコル(古い HTTP からの移行、TLS の要求など)へ切り替えるよう促す。Upgrade ヘッダーで必要なプロトコルを示す。

4xx クライアントエラー キャッシュしない 本文あり

428

Precondition Required

条件付きリクエストでないと更新を受け付けない

更新を無条件に受け付けると、他の人の変更を知らずに上書きしてしまう。サーバーが If-Match を必須にすることで、この取りこぼしを防ぐために返す。

4xx クライアントエラー キャッシュしない 本文あり

429

Too Many Requests

短時間に送りすぎ。時間を置いて再試行

レート制限に掛かった。Retry-After で待つべき秒数を示すのが作法で、これが無いとクライアントは総当たりで再試行してしまう。API の防御と、クローラーの過剰なアクセスの抑制の両方で使う。

4xx クライアントエラー キャッシュしない 本文あり

430

Too Many Requests (Shopify)

リクエスト過多(Shopify 独自)

Shopify が 429 とは別に使う独自コード。同社の一部エンドポイントでリクエスト過多を示す。

4xx クライアントエラー キャッシュしない 本文あり 非標準 · Shopify

431

Request Header Fields Too Large

ヘッダーが大きすぎる

Cookie が肥大化したときによく起きる。1 つのヘッダーが長すぎる場合も、合計が上限を超えた場合もある。原因の Cookie を消せば直ることが多い。

4xx クライアントエラー キャッシュしない 本文あり

440

Login Time-out (IIS)

セッションの期限切れ(IIS)

Microsoft IIS が、セッションの有効期限切れで再ログインが必要なときに返す。標準では 401 に相当する。

4xx クライアントエラー キャッシュしない 本文あり 非標準 · IIS

444

No Response (nginx)

応答を返さずに接続を切った

nginx の内部コードで、悪意のあるアクセスに対して何も返さず接続を閉じたことをログに記録するためのもの。クライアントには何も届かない。

4xx クライアントエラー キャッシュしない 本文を持てない 非標準 · nginx

449

Retry With (IIS)

情報を足して再試行せよ(IIS)

Microsoft の拡張で、必要な情報が足りないため補って再試行するよう促す。ほぼ社内向けの実装でしか見ない。

4xx クライアントエラー キャッシュしない 本文あり 非標準 · IIS

450

Blocked by Windows Parental Controls

保護者による制限で遮断された

Windows のペアレンタルコントロールがページを遮断したときに使われた Microsoft 独自のコード。

4xx クライアントエラー キャッシュしない 本文あり 非標準 · Microsoft

451

Unavailable For Legal Reasons

法的な理由で提供できない

検閲・裁判所命令・地域的な法規制によって提供を止めていることを示す。番号は『華氏 451 度』にちなむ。Link: rel="blocked-by" で誰の要求による遮断かを示せる。

4xx クライアントエラー 既定でキャッシュ可 本文あり

460

Client closed (AWS ELB)

応答を返す前にクライアントが切断した

AWS のロードバランサーが、応答を返す前にクライアント側が接続を切ったことを記録するコード。利用者がページを閉じた・戻ったときに出るので、必ずしも異常ではない。

4xx クライアントエラー キャッシュしない 本文を持てない 非標準 · AWS ELB

494

Request header too large (nginx)

ヘッダーが大きすぎる(nginx 内部)

nginx が内部で使うコードで、標準の 431 に相当する。ログにだけ現れる。

4xx クライアントエラー キャッシュしない 本文を持てない 非標準 · nginx

495

SSL Certificate Error (nginx)

クライアント証明書が不正

クライアント証明書の検証に失敗したときに nginx が記録する。相互 TLS を使っている構成で出る。

4xx クライアントエラー キャッシュしない 本文を持てない 非標準 · nginx

496

SSL Certificate Required (nginx)

クライアント証明書が提示されなかった

相互 TLS が必須の構成で、クライアントが証明書を出さなかったときに nginx が記録する。

4xx クライアントエラー キャッシュしない 本文を持てない 非標準 · nginx

497

HTTP Request Sent to HTTPS Port (nginx)

HTTPS のポートに平文の HTTP が届いた

TLS を期待しているポートに平文のリクエストが来たことを nginx が記録する。ポート設定やリバースプロキシの向き先の誤りを示す。

4xx クライアントエラー キャッシュしない 本文を持てない 非標準 · nginx

498

Invalid Token (Esri)

トークンが無効または期限切れ

Esri の ArcGIS が使う独自コード。標準では 401 に相当する。

4xx クライアントエラー キャッシュしない 本文あり 非標準 · Esri ArcGIS

499

Client Closed Request (nginx)

応答を返す前にクライアントが接続を閉じた

nginx のログでよく見るコード。利用者が読み込み中にページを離れた場合と、上流が遅すぎて待ちきれなかった場合の両方で出る。急に増えたときは後段の遅延を疑う。

4xx クライアントエラー キャッシュしない 本文を持てない 非標準 · nginx

500

Internal Server Error

サーバー側で予期しないエラーが起きた

他のどれにも当てはまらないサーバー側の失敗をまとめて表す。利用者に見せる本文には内部の情報(例外メッセージ・スタックトレース・DB のホスト名)を出さず、ログにだけ残す。

5xx サーバーエラー キャッシュしない 本文あり

501

Not Implemented

そのメソッド自体をサーバーが実装していない

405 が「この URL では使えない」なのに対し、501 は「サーバーがそのメソッドを一切扱えない」。将来対応する見込みがあるものにも使う。

5xx サーバーエラー 既定でキャッシュ可 本文あり

502

Bad Gateway

上流のサーバーから壊れた応答が返ってきた

リバースプロキシや CDN が、後ろのアプリケーションから正しい応答を受け取れなかった。アプリが落ちている・ポートが違う・起動途中、といった原因が多い。応答を返しているのは前段なので、調べるべきは後段のログ。

5xx サーバーエラー キャッシュしない 本文あり

503

Service Unavailable

一時的に処理できない。あとで復旧する見込み

メンテナンス中や過負荷で一時的に応じられない状態。Retry-After を付ければ、検索エンジンにも「今だけ」と伝わり索引から落とされにくい。メンテナンス画面は 200 ではなく 503 で返す。

実務メモ: 外形監視は「トップページが 200 か」だけでは足りない。トップがエッジにキャッシュされていると、DB が落ちていても 200 を返し続ける。DB に軽いクエリを投げるヘルスチェック用の経路を別に用意する。

5xx サーバーエラー キャッシュしない 本文あり

504

Gateway Timeout

上流の応答を待ちきれずに打ち切った

前段が後段の応答を待ったが、制限時間内に返ってこなかった。重いクエリ、外部 API の遅延、コネクションプールの枯渇が典型的な原因。502 は「壊れた応答が返った」、504 は「返ってこなかった」。

5xx サーバーエラー キャッシュしない 本文あり

505

HTTP Version Not Supported

そのバージョンの HTTP は扱えない

リクエストで使われた HTTP のバージョンをサーバーが扱えない。古いクライアントや、手書きのリクエストの書式ミスで見ることがある。

5xx サーバーエラー キャッシュしない 本文あり

506

Variant Also Negotiates

ネゴシエーションの設定が循環している

透過的コンテンツネゴシエーションで、選ばれた候補自体がまた候補を選ぼうとして循環している状態。サーバー設定の誤りを示す。

5xx サーバーエラー キャッシュしない 本文あり

507

Insufficient Storage (WebDAV)

保存する容量が足りない

WebDAV で、書き込みを完了するだけの空き容量がサーバーに無いときに返る。ディスク満杯やクォータ超過が原因。

5xx サーバーエラー キャッシュしない 本文あり

508

Loop Detected (WebDAV)

処理中に無限ループを検出した

WebDAV のバインディングによって参照が循環し、処理が終わらないことを検出して打ち切った。208 と同じ循環構造の問題に対する、打ち切り側の応答。

5xx サーバーエラー キャッシュしない 本文あり

509

Bandwidth Limit Exceeded

転送量の上限を超えた

共有ホスティングの管理ツール(cPanel 等)が、契約の転送量上限を超えたサイトに返す非標準コード。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · cPanel

510

Not Extended

拡張が足りず要求を実行できない

RFC 2774 の HTTP 拡張フレームワークで、要求を処理するために必要な拡張が示されていないときに返す。この枠組み自体がほとんど使われていない。

5xx サーバーエラー キャッシュしない 本文あり

511

Network Authentication Required

ネットワークへのログインが必要(キャプティブポータル)

公衆 Wi-Fi のログイン画面(キャプティブポータル)が本来返すべきコード。オリジンではなく途中のネットワーク機器が生成する。実際には 302 で portal に飛ばす実装が多く、これが HTTPS を壊す原因になっている。

5xx サーバーエラー キャッシュしない 本文あり

520

Web Server Returned an Unknown Error (Cloudflare)

オリジンから解釈できない応答が返った

Cloudflare がオリジンから空の応答・不正なヘッダー・接続の突然の切断を受け取ったときの総称。オリジン側のクラッシュやヘッダーの重複が原因になることが多い。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

521

Web Server Is Down (Cloudflare)

オリジンが接続を拒否した

オリジンのサーバーが落ちているか、Cloudflare の IP からの接続をファイアウォールで拒否している。プロセスの死活と、許可 IP の設定の両方を確認する。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

522

Connection Timed Out (Cloudflare)

オリジンとの接続確立に失敗した

TCP の接続そのものが時間内に確立しなかった。経路の問題、オリジンの過負荷、パケットを落とすファイアウォールが原因になる。504(応答待ちのタイムアウト)より手前の段階で失敗している。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

523

Origin Is Unreachable (Cloudflare)

オリジンに到達できない

DNS の設定が誤っている、オリジンの IP が変わった、経路が無いなどで到達できない。DNS レコードの向き先を確認する。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

524

A Timeout Occurred (Cloudflare)

接続はできたが、応答が制限時間内に返らなかった

Cloudflare の待ち時間(既定 100 秒)を超えて応答が返らなかった。長時間かかる処理は非同期にして 202 を返し、進捗を別の URL で見せる形に変えるのが根本的な解決になる。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

525

SSL Handshake Failed (Cloudflare)

オリジンとの TLS ハンドシェイクに失敗した

オリジンの証明書や暗号スイートが Cloudflare の期待と合っていない。証明書の期限切れ、対応する暗号方式の不一致が典型。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

526

Invalid SSL Certificate (Cloudflare)

オリジンの証明書を検証できなかった

Full (Strict) モードで、オリジンの証明書が自己署名だったり期限切れだったりして検証に失敗した。Cloudflare Origin CA 証明書を入れると解決することが多い。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

530

Origin DNS Error (Cloudflare)

1xxx 番の Cloudflare エラーと併せて表示される

530 は単独では意味を持たず、画面に併記される Error 1016 のような 1xxx 番のコードが本当の原因を示す。Workers の例外(1101)やオリジンの DNS 解決失敗(1016)でよく見る。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Cloudflare

598

Network Read Timeout Error

プロキシが読み取りでタイムアウトした

一部のプロキシが独自に使うコードで、標準には存在しない。ネットワークの読み取り待ちが時間切れになったことを示す。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Proxies

599

Network Connect Timeout Error

プロキシが接続でタイムアウトした

598 と同じく非標準で、接続の確立に失敗したことを示す。HTTP クライアントライブラリが内部的なエラーを表すために使うこともある。

5xx サーバーエラー キャッシュしない 本文あり 非標準 · Proxies