ステータスコードとは
Webブラウザとサーバーがやり取りをする際、返ってくるレスポンスには必ず ステータスコード という3桁の数字が含まれます。
HTTPステータスコードは「リクエストに対するサーバーの返事」を示す重要な役割を担っており、これを見れば結果がひと目でわかる仕組みになっています。
🐬「ときどき 404
とか 500
って数字を見かけるんですけど、あれがステータスコードなんですねぇ?」
🐚「そうそう!正しいコードを使い分けると、開発・運用がずっと楽になるんですよ!」
ステータスコードの分類
HTTPステータスコードは、1桁目の数字でカテゴリーを示し、2桁目と3桁目の数字で詳細を表し、1xxや2xxなどのように合計3桁の数字で表現されます。
カテゴリーは5つに分かれています。
カテゴリ | 範囲 | 意味 |
---|---|---|
1xx (情報) | 100-199 | リクエストの受け取りを示す。 |
2xx (成功) | 200-299 | リクエストが正常に処理されたことを示す。 |
3xx (リダイレクト) | 300-399 | 別のURLへ移動する必要があることを示す。 |
4xx (クライアントエラー) | 400-499 | クライアント側に原因があるエラーを示す。 |
5xx (サーバーエラー) | 500-599 | サーバー側に原因があるエラーを示す。 |
それぞれに意味合いがあるため、サーバー側はリクエストの内容や結果に応じて適切なステータスコードを選んで返す必要があります。
HTTPステータスコードの代表例と使いどころ
具体的なステータスコードの例と使いどころは以下の通りです。
ステータスコード | 意味 | 使用例・補足 |
---|---|---|
200 OK | 正常に処理が完了した | 通常のGETやデータ取得、問題なく処理が終わった場合。 |
201 Created | 新規リソースの作成に成功した | POSTなどで新しいリソースが作成された場合。 |
204 No Content | 処理成功したが返すデータがない | DELETEなどでコンテンツを返す必要がない場合。 |
400 Bad Request | リクエストが不正 | パラメータが不足・形式不備など、クライアントエラー。 |
401 Unauthorized | 未認証・認可エラー | トークンや認証情報が無効・未設定など。 |
403 Forbidden | アクセス権なし | 認証済みだが操作する権限がないなど。 |
404 Not Found | リソースが見つからない | ユーザーやページが存在しない場合。 |
500 Internal Server Error | サーバーエラー | サーバー内部で予期しないエラーが起きた場合。 |
503 Service Unavailable | サービス利用不可 | サーバーが過負荷・メンテナンス中などで一時的に利用不可。 |
🐚「404 Not Found
は有名ですよね。あれは 『そのURLのページは無いよ』 という意味です!」
🐬「リンク切れページに行ったときによく見かけますぅ! 500
って 『サーバーで何か問題が起こった』 ということなんですねぇ…。」
🐚「そうですね。アプリのバグや一時的な不具合のときに返りがちだから、デバッグの手がかりになるんですよっ」
ステータスコードを正しく運用しよう
正しいステータスコードを返すメリット
ステータスコードは、状況に応じて正確に使い分けることが大切です。
そうすることで、クライアント側や他の開発者が原因や状況を素早く把握でき、結果的に開発や運用の効率が向上します。
-
トラブルシューティングに役立つ
例えば
404
や500
が出たときに、クライアント側のミスなのかサーバー側の問題なのかをすぐに判別できます。 -
効率的なリダイレクト設定ができる
永久移動なら
301
、一時移動なら302
のように正しいコードを返すことで、SEO的にも正しい評価が行われます。 -
通信の流れが把握しやすくなる
どのコードが返っているかを知ることで、アプリケーションの『どこで何が起こっているのか』を俯瞰できます。
🐚「コードで原因がわかるから、開発や運用がグッと楽になるんですよね!」
🐬「エラーってただの『嫌なもの』 だと思ってましたけど、実は『助けてくれる情報』 でもあるんですねぇ」
正しいステータスコードでAPIをわかりやすく
HTTPステータスコードは、サーバーとクライアントがスムーズに意思疎通するために欠かせません。
次の3点を意識するだけで、APIの保守性、さらには信頼性が格段に上がります。
- 正しいステータスコードを返して、状態を正確に示す
- エラー時には詳細をレスポンスボディに載せて、状況を明示する
- クライアントの期待(JSON/XML/HTMLなど)を考慮して実装する
🐚「新人エンジニアのうちからステータスコードを意識しておくと、あとあと本当に役に立ちますよ。API仕様書を書くときにも“正確なコードを返す”ってのは大事な視点ですっ」
🐬「はい! これからは 『とりあえず200 OK』 に逃げず、ちゃんと4xxや5xxを使い分けますぅ!」
まとめ
HTTPステータスコードは、サーバーからクライアントへの返事を数値化したもの。
一見するとただの数字に見えますが、どこが原因で何が問題かを示すヒントが詰まっています。
下記ポイントを頭に入れておくと、エラーが発生したときにパニックにならず対処がスムーズに進みますよ。
- ステータスコードは 1xx~5xx の5カテゴリーに分類される
- 2xx は成功、4xx はクライアントエラー、5xx はサーバーエラー
-
404 Not Found
や500 Internal Server Error
など、よく見る数字は要チェック - 正しいステータスコードを返すことで、SEOやデバッグ、運用面でもメリット大
🐬「今度エラー画面に出くわしたら、『何の番号かな?』 って冷静に見てみますぅ!」
🐚「そうそう、それがエンジニアとして大切な視点だね。慣れてくると『あ、404か…ページのパス間違ってるかな?』 ってすぐわかるようになりますよっ」