HTTP ステータスコードの意味
更新 2026-07-06
ブラウザがページを読み込むたび、あるいはアプリが API を呼ぶたび、サーバーは 3 桁のステータスコードで返します。ほとんどは目にしませんが、何かが壊れたとき — 404、500 — その数字が最初の手がかりです。このガイドはステータスコードを一目で読む方法を教えます。
最初の桁を読む
コツは 最初の桁が分類を教える ことで、一度も見たことのないコードの意図も理解できます:
- 1xx — 情報(Informational): 受け取り、まだ処理中(日常の利用ではまれ)。
- 2xx — 成功(Success): うまくいった。
- 3xx — リダイレクト(Redirection): リソースは別の場所にある。
- 4xx — クライアントエラー(Client error): リクエストが間違っていた(あなたの側)。
- 5xx — サーバーエラー(Server error): リクエストは正常だったが、サーバーが失敗した。
この 4xx 対 5xx の分かれ目がデバッグ時に最も役立つ区別です: 4xx はリクエストを直せという意味、5xx はサーバーのせいという意味。
実際に出会うコード
成功とリダイレクト
- 200 OK — 標準の「うまくいった」応答。
- 201 Created — 新しいリソースが作成された(POST の後)。
- 301 Moved Permanently — この URL は恒久的に移動した。リンクを更新しましょう。SEO に重要。
- 302 Found — 一時的なリダイレクト。元の URL を使い続けましょう。
- 304 Not Modified — キャッシュされたコピーがまだ有効なので、何も再送されなかった。
クライアントエラー (4xx)
- 400 Bad Request — リクエストの形式が不正。
- 401 Unauthorized — 認証が必要(ログイン)。
- 403 Forbidden — 認証はされているが許可されていない。
- 404 Not Found — リソースが存在しない。
- 429 Too Many Requests — レート制限にかかっている。速度を落としましょう。
サーバーエラー (5xx)
- 500 Internal Server Error — 一般的なサーバー側の失敗。
- 502 Bad Gateway — 上流のサーバーが不正な応答を返した。
- 503 Service Unavailable — サーバーが過負荷、またはメンテナンスでダウン。
- 504 Gateway Timeout — 上流のサーバーが時間内に応答しなかった。
401 vs. 403: よくある取り違え
この二つは似て感じますが、一語で違います。401 Unauthorized は実は「認証されていない(unauthenticated)」を意味します — サーバーはあなたが誰か知らないので、ログインを。403 Forbidden はサーバーがあなたが誰か知っていて、それでも許可しないという意味です。一方は身元について、もう一方は権限についてです。
完全なリスト
登録されたすべてのコードとその意味を — 検索でき、クラス別にまとめて — 見るには、完全な HTTP ステータスコードのリファレンスをご覧ください。API 応答をデバッグ中なら、JWT と URL エンコーディング のガイドが、あなたが絶えず出くわす別の二つを扱います。
ウェブ & 開発者 をもっと見る
ウェブ & 開発者 のガイドをすべて見る →このガイドで触れたツール