HTTPステータスコードの意味を調べる

Webhookが422を返し、nginxのログに499、CDNは520を表示。仕様書を読み漁らずにコードの意味と典型的な原因を調べます。

このガイドで使う道具

やりたいこと

連携のデバッグとは数値コードを原因に翻訳する作業です。よく見るコードは覚えられますが、418・425・507・Cloudflareの52xのような裾野は覚えていられません。

コードを引く

番号、4xxのようなクラス、redirectやrateのようなキーワードで検索します。各項目には標準の意味と典型的な発生原因が載っています。

  • 非標準コードはその旨が示されます。499はnginxのクライアント切断、52xはCloudflareのオリジン側エラーです。
  • 正確なコードが分からない時はクラスで絞ります。4xxはリクエスト側の問題、5xxはサーバ側の失敗です。

具体例

決済webhookが422で失敗し続ける場合、表ではUnprocessable Content=JSONはパースできたがフィールドが検証で失敗、と示します。認証(401)でもルート不存在(404)でもなくボディの問題です。

対応範囲

参照表であり、サーバへリクエストを送るツールではありません。IANA登録の1xx〜5xxに加え、広く使われる非標準コードを収録しています。

  • ステータスコードは「何が起きたか」を教えますが「なぜ」の確定はサーバログが正本です。