Webページを見ていると、画面には出てこないのに、裏側では「200」や「404」といった番号がやり取りされています。これがHTTPステータスコードです。ブラウザ(クライアント)がサーバーにお願いを出し、その返事がどうだったかを3桁の番号で伝えます。
最初に知りたいのは、「200は成功」「404は見つからない」「500はサーバー側のエラー」という見方です。この記事では、HTTPステータスコードの意味を、Webの現場でよく出る番号から順に、できるだけやさしく整理します。
HTTPステータスコードとは
HTTPステータスコードは、Web通信の結果を表す番号です。HTTPは、ブラウザとサーバーがWebページやデータをやり取りするときの約束ごとです。その返事の先頭に、3桁の数字が付きます。
たとえば、ブラウザが「このページをください」と送ると、サーバーは「どうなったか」を番号で返します。番号を見ると、通信がうまくいったのか、別の場所へ案内されたのか、エラーが起きたのかが分かります。
HTTPステータスコードは、だいたい次の5つの仲間に分けて覚えると整理しやすいです。
- 1xx:処理中。まだ途中です。
- 2xx:成功。お願いした内容が通りました。
- 3xx:移動。別の場所を見に行きます。
- 4xx:クライアント側の問題。URLの間違いや権限不足などです。
- 5xx:サーバー側の問題。サーバーがうまく動けていません。
よく使う番号だけを見ると、200は「成功」、201は「作成できた」、204は「成功したが返す中身はない」、301は「ずっと別の場所へ移動」、302は「一時的に移動」、400は「お願いの形が変」、401は「認証が必要」、403は「入れない」、404は「見つからない」、500は「サーバー内部のエラー」です。
ここで大事なのは、番号そのものを丸暗記するより、「最初の1桁で大まかな種類をつかむ」ことです。現場でも、まず2xxなのか4xxなのか5xxなのかで、調べる方向が変わります。
よくある疑問:404が出たら、もうサイトが消えたという意味ですか?
必ずしもそうではありません。URLの打ち間違い、リンク切れ、ページの削除、公開場所の間違いなどでも404になります。
身近なたとえで考える
HTTPステータスコードは、受付番号のように考えると分かりやすいです。あなたが役所や病院で受付をすると、呼び出し番号や案内札を受け取ることがあります。あれは、今どんな状態かを短く伝えるためのものです。HTTPの番号も、それに似ています。
たとえば、窓口で「書類は受け取りました」と言われれば200に近い感覚です。もし「提出先が変わりました」と案内されたら301や302のイメージです。「その書類はこの窓口では扱えません」は403に近く、「その番号の書類は見当たりません」は404に近いです。番号は人を責めるためではなく、状況を早く伝えるためにあります。
もう少しWebらしく言うと、URLは住所、ステータスコードは配達結果の札です。住所が正しくても、中身がもう置かれていなければ404になることがあります。逆に、住所が少し変わっていても、301で新しい場所へ案内されることがあります。だから、番号だけでなく、その前後の流れを見ることが大切です。
「200なら何も考えなくてよい」「404ならページ削除」と決めつけると、原因を見逃します。実際には、ブラウザの表示、サーバーの設定、公開先のURL、アクセス権限など、いくつかの要素が重なって結果が出ます。HTTPステータスコードは、その入口を教えてくれる道しるべです。
実務ではどう使う?
仕事では、HTTPステータスコードを見て原因をしぼります。たとえば、画面が開かないときに「404」なら、まずURLやリンクの向きを確認します。「401」なら、ログインが必要か、認証情報が正しいかを見ます。「403」なら、ログインはできていても、その人に権限がない可能性があります。
フォーム送信で「400」が返るなら、送ったデータの形を疑います。日付の形式が違う、必須項目が空、文字の種類が合っていない、JSONの形が壊れている、などです。こういうときはテストで入力を少しずつ変えて、どこで失敗するかを確かめます。
「500」が返るときは、サーバー側のプログラムで失敗していることが多いです。画面の見た目だけ見ても原因は分からないので、ログを見て、いつ、どこで、何が起きたかを探します。もし公開後に急に増えたなら、障害対応として、再現条件をそろえてから切り分けます。
「502」や「503」も実務でよく見ます。502は、途中の中継役が、先のサーバーから正しい返事を受け取れなかったときに出ることがあります。503は、サービスが一時的に使いにくい、または止めているときに出ます。メンテナンス中や混雑時に見かけることがあります。
URLを変えたときや、公開先を切り替えたときは、開発環境と本番環境の違いも忘れずに見ます。開発環境では動いたのに、本番では404や500が出ることがあるからです。設定、公開パス、権限、環境変数の差で結果が変わるからです。
また、ログイン周りで401と403を見分けるのも大事です。401は「まず本人確認をしてください」という意味合いが強く、403は「本人確認はできたが、その操作は許可されていません」という意味合いが強いです。たとえば、会員専用ページに入る前なら401、管理者だけが押せるボタンを一般ユーザーが押したなら403、というイメージです。
番号を見れば、原因の候補をかなり早くしぼれます。だから現場では、画面より先にステータスコードを確認することがあります。
図解で整理


HTTPステータスコードは、ブラウザとサーバーのやり取りの「結果札」です。流れで見ると、何が起きているかをつかみやすくなります。
まずブラウザがURLを送ります。次にサーバーがページやデータを探して処理します。最後に、成功・移動・エラーのどれかを3桁の番号で返します。番号の最初の1桁を見るだけでも、全体の見当が付きます。
覚え方の軸は次の3つです。
・2xxは成功
・4xxは依頼した側の問題
・5xxは受け取る側の問題
この3つだけでも、実務の初動はかなり速くなります。
実際の調査では、番号だけで終わらせず、URL、画面の操作手順、時間帯、ログの内容をセットで見ます。そうすると「たまたま起きた1回の失敗」か「毎回起きる問題」かを分けやすくなります。HTTPステータスコードは、その入口です。
3問クイズ
-
HTTPステータスコードの説明として正しいものはどれ?
A. 画面の色を決める番号
B. Web通信の結果を表す3桁の番号
C. 画像のサイズを表す記号
D. パスワードの暗号化方式答えを見る
答え:Bです。HTTPステータスコードは、ブラウザとサーバーのやり取りがどう終わったかを3桁で示します。
-
404 Not Found が示すものとして最も近いものはどれ?
A. ページやデータが見つからない
B. 画面の文字が大きすぎる
C. サイトのデザインが古い
D. 通信が必ず成功した答えを見る
答え:Aです。404は、そのURLに対応するページやデータが見つからないときによく返ります。
-
401と403の違いとして正しいものはどれ?
A. どちらも必ずサーバー停止を表す
B. 401は認証が必要、403は権限が足りないことが多い
C. 403は成功、401は移動
D. どちらもページが完全に削除された意味答えを見る
答え:Bです。401は本人確認が必要なことが多く、403は本人確認はできても、その操作が許可されていないことが多いです。
まとめ
HTTPステータスコードは、Web通信の結果を伝える3桁の番号です。2xxは成功、3xxは移動、4xxは依頼した側の問題、5xxはサーバー側の問題、と覚えると整理しやすくなります。
200や404の意味が分かるだけでも、画面のエラーを見たときの落ち着き方が変わります。まず番号を見て、次にURL、ログ、テスト結果を確認する。この順番で見ると、原因に近づきやすくなります。
