HTTP ステータスコード
任意の HTTP ステータスコード(1xx–5xx)を検索。意味、よくある原因、RFC 参照を表示。
用途
HTTP ステータスコードはサーバーがクライアントにリクエスト結果を伝える 3 桁の数字です。1xx(情報)、2xx(成功)、3xx(リダイレクト)、4xx(クライアントエラー)、5xx(サーバーエラー)の 5 系統に分かれます。多くの開発者は 200、301、404、500 など見出し的なコードは知っていますが、実際のバグは 409 Conflict、422 Unprocessable、504 Gateway Timeout などのロングテールに潜んでいます。本ツールはコードの意味と、それぞれが定義されている RFC を含めた完全なリストを提供します。
使うべきタイミング
- API ドキュメントに見覚えのないコード(425? 451?)が出てきたとき。
- 自前の API から返すコードを選びたいとき — 404 か 410、401 か 403、422 か 400。
- 502 / 504 を切り分けたい — upstream がダウンか、ただ遅いだけか。
- 「200 でエラーボディ」と「ちゃんとした 4xx」のどちらが正解か決めたいとき。
- コードレビューや設計ドキュメントのために RFC 参照を引きたいとき。
よくある注意点
- 401 は「未認証」、403 は「権限なし」です。 名前が紛らわしいですが、401 は「あなたが誰か分からない」、403 は「あなたが誰か分かっていて、それでもダメ」です。再認証で解決しないなら 403 を使います。
- 302 はメソッドに対して曖昧です。 ブラウザは歴史的に 302 で POST→GET へ変えてきました。明示したければ 307(メソッド保持)か 303(常に GET)を使ってください。
- 404 と 410 は別物です。 404 = 「分からない」、410 = 「永久に消えた」。検索エンジンに URL を捨てさせたいときは 410 を返してください。
- 200 + エラーボディは「RESTful」ではありません。 リソースレベルで失敗したなら 4xx を返し、ボディにエラー情報を入れてください。
- 418 はジョークです。 本番で I'm a teapot を使わないでください。クライアントやプロキシで扱いがバラバラです。
- RFC 9110 が RFC 7231/7232/7233/7234/7235 を統合・更新しています。 仕様を引用するときは特に古い版が必要でない限り 9110(2022 年 6 月)を引いてください。