0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

絶対に覚えておくべき「ステータスコードについて」

Posted at

image.png

ステータスコードとは

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 サービス利用不可 サーバーが過負荷・メンテナンス中などで一時的に利用不可。

HTTPステータスコード一覧表 -- MDN

🐚「404 Not Found は有名ですよね。あれは 『そのURLのページは無いよ』 という意味です!」

🐬「リンク切れページに行ったときによく見かけますぅ! 500 って 『サーバーで何か問題が起こった』 ということなんですねぇ…。」

🐚「そうですね。アプリのバグや一時的な不具合のときに返りがちだから、デバッグの手がかりになるんですよっ」

ステータスコードを正しく運用しよう

正しいステータスコードを返すメリット

ステータスコードは、状況に応じて正確に使い分けることが大切です。
そうすることで、クライアント側や他の開発者が原因や状況を素早く把握でき、結果的に開発や運用の効率が向上します。

  1. トラブルシューティングに役立つ

    例えば 404500 が出たときに、クライアント側のミスなのかサーバー側の問題なのかをすぐに判別できます。

  2. 効率的なリダイレクト設定ができる

    永久移動なら 301、一時移動なら 302 のように正しいコードを返すことで、SEO的にも正しい評価が行われます。

  3. 通信の流れが把握しやすくなる

    どのコードが返っているかを知ることで、アプリケーションの『どこで何が起こっているのか』を俯瞰できます。

🐚「コードで原因がわかるから、開発や運用がグッと楽になるんですよね!」

🐬「エラーってただの『嫌なもの』 だと思ってましたけど、実は『助けてくれる情報』 でもあるんですねぇ」

正しいステータスコードでAPIをわかりやすく

HTTPステータスコードは、サーバーとクライアントがスムーズに意思疎通するために欠かせません。

次の3点を意識するだけで、APIの保守性、さらには信頼性が格段に上がります。

  • 正しいステータスコードを返して、状態を正確に示す
  • エラー時には詳細をレスポンスボディに載せて、状況を明示する
  • クライアントの期待(JSON/XML/HTMLなど)を考慮して実装する

🐚「新人エンジニアのうちからステータスコードを意識しておくと、あとあと本当に役に立ちますよ。API仕様書を書くときにも“正確なコードを返す”ってのは大事な視点ですっ」

🐬「はい! これからは 『とりあえず200 OK』 に逃げず、ちゃんと4xxや5xxを使い分けますぅ!」

まとめ

HTTPステータスコードは、サーバーからクライアントへの返事を数値化したもの。
一見するとただの数字に見えますが、どこが原因で何が問題かを示すヒントが詰まっています。

下記ポイントを頭に入れておくと、エラーが発生したときにパニックにならず対処がスムーズに進みますよ。

  • ステータスコードは 1xx~5xx の5カテゴリーに分類される
  • 2xx は成功、4xx はクライアントエラー、5xx はサーバーエラー
  • 404 Not Found500 Internal Server Error など、よく見る数字は要チェック
  • 正しいステータスコードを返すことで、SEOやデバッグ、運用面でもメリット大

🐬「今度エラー画面に出くわしたら、『何の番号かな?』 って冷静に見てみますぅ!」

🐚「そうそう、それがエンジニアとして大切な視点だね。慣れてくると『あ、404か…ページのパス間違ってるかな?』 ってすぐわかるようになりますよっ」

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?