【えいちてぃーてぃーぴーすてーたすこーど】

HTTPステータスコード とは?

💡 サーバーからの「通知カード」
📌 このページのポイント
HTTPステータスコード 分類 2xx 成功(Success) 200 OK - リクエスト成功 201 Created - リソース作成成功 204 No Content - 成功(本文なし) 3xx リダイレクト 301 Moved Permanently - 恒久移動 302 Found - 一時的リダイレクト 304 Not Modified - キャッシュ有効 4xx クライアントエラー 400 Bad Request - 不正なリクエスト 401 Unauthorized - 認証が必要 404 Not Found - リソースが存在しない 5xx サーバーエラー 500 Internal Server Error - サーバー障害 502 Bad Gateway - 不正なゲートウェイ 503 Service Unavailable - サービス停止 ステータスコードの先頭の数字でレスポンスの種類を判別できる
HTTPステータスコード:レスポンスの結果を3桁の数字で分類する
ひよこ ひよこ

HTTPステータスコードって何?

ペンギン先生 ペンギン先生

ブラウザサーバーにページを要求したとき、サーバーが返す3桁の番号だよ。「200 OK(成功したよ)」「404 Not Found(ページが見つからないよ)」「500 Internal Server Error(サーバーで問題が起きたよ)」みたいに、結果を番号で伝えるんだ。

ひよこ ひよこ

番号のグループ分けはあるの?

ペンギン先生 ペンギン先生

先頭の数字で大きく分かれるよ。1xx(情報)、2xx(成功)、3xx(リダイレクト)、4xx(クライアントエラー)、5xx(サーバーエラー)の5グループ。4xxは「あなたのリクエストがおかしい」、5xxは「サーバー側の問題」と覚えるとわかりやすいよ。

ひよこ ひよこ

よく使うステータスコードを教えて!

ペンギン先生 ペンギン先生

200(成功)、301(恒久的リダイレクト)、302(一時的リダイレクト)、400(不正リクエスト)、401(認証が必要)、403(アクセス禁止)、404(見つからない)、500(サーバーエラー)、503(サービス利用不可)あたりだね。特に開発やAPI連携では欠かせないよ。

ひよこ ひよこ

401と403の違いがよくわからないんだけど…

ペンギン先生 ペンギン先生

これは実務でもよく混乱されるところだね。401 Unauthorizedは「認証されていない(ログインしてない)」で、403 Forbiddenは「認証済みだけど権限がない」という違いがある。ちなみに401の名前は「Unauthorized(無許可)」だけど本当の意味は「Unauthenticated(未認証)」で、名前と意味がズレている歴史的な問題がある。さらに実務だと、セキュリティ上の理由で存在するリソースに対しても意図的に404を返すことがある。403を返すと「そのリソースは存在するが権限がない」と攻撃者に情報を与えてしまうからだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
HTTPステータスコード」って出てきたら「サーバーが返す3桁の結果番号のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「HTTP Status Code」 = HTTP通信の状態を示すコード
💬 Statusは「状態」、Codeは「番号」。サーバーの状態を番号で伝える仕組みだよ
← 用語集にもどる