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に加え、広く使われる非標準コードを収録しています。
- ステータスコードは「何が起きたか」を教えますが「なぜ」の確定はサーバログが正本です。