PCやスマホで見たいウェブサイトが見られずに、「503」など以下のような3ケタの数字が表示される怪しいページに見覚えありませんでしょうか?

ちなみにこの場合はサーバー側の問題でウェブサイトが見られない状況を表してます。
「なぜウェブサイトが見られなのよ!で、この3桁の数字は何!?」
という感じで1回くらいヤキモキしたこと、あると思います(笑)

この3ケタの数字は「HTTPステータスコード(HTTP Status Code)」と呼ばれ、当然意味があります!
では、この3ケタの数字にどういう意味があるのか?
一度覚えてしまえば、簡単です!
今回は3ケタの数字で表示される「HTTPステータスコード」について紹介させて頂きます。
目次
1. HTTPステータスコードとは?
「HTTPステータスコード」とは、ウェブブラウザからウェブサイトを閲覧する際のリクエストに対し、ウェブサーバーから返信されるレスポンス内容を表す3ケタの数字(コード)のことです。
ざっくり説明するとこちらです!
- リクエスト(ブラウザ)
私のPCやスマホの画面であなたのウェブサイトを見て良いでしょうか? - レスポンス(サーバー)
承知しました!結果はHTTPステータスコードよりご確認ください。 - 結果⇒HTTPステータスコード(3ケタの数字)
ウェブサイトを無事に見ることができました!
もう少し簡単に説明しますと…ブラウザのリクエストに対するサーバーからの回答(コード)とも言えます!


2. HTTPステータスコードの種類とは?

「HTTPステータスコード」は大きく5つの種類に分かれます。
100番台と200番台は正常に処理されている、つまりウェブサイトを問題なく見られている状況です!
ですので、100番台と200番台の「HTTPステータスコード」はブラウザに表示されることはありません。

それでは、5つの「HTTPステータスコード」について細かい部分まで説明していきます。
2-1. 100番台(Information 情報処理中)

「100番台」の「HTTPステータスコード」の意味は「情報処理中」です。
ですので、「100番台」のコード(3ケタの数字)がブラウザ上に表示されることはありません。

2-1-1. 100 Continue(継続)
サーバーはリクエストに対して現状は正しく処理できている状況。ここから更に継続してリクエストすることが可能。
2-1-2. 101 Switching Protocols(プロコトルの切り替え)
サーバーはリクエストを理解できており、正しい処理を行うため、プロコトルの切り替え求めている状況。
2-1-3. 102 Processing(処理中)
リクエストを処理中の(完全に処理できていない)状況。
2-1-4. 103 Early Hints(ヒント)
リソース配信の最適化や処理速度を上げることが目的にしたhttpの新しいステータスコード
2-2. 200番台(Successful 閲覧成功)

「200番台」の「HTTPステータスコード」はウェブサイトを見ることができている状況です。
つまり「200番台」のコードがブラウザ上で表示されることはありません。

2-2-1. 200 OK(成功)
リクエストは正しく処理され、要求された内容が返信されている状況。
2-2-2. 201 Created(新たに作成)
リクエストは成功し、新たに作成されたリソースのURLが返信されている状況。
2-2-3. 202 Accepted(受理完了)
リクエストを受理したものの、まだ処理している途中の状況。
2-2-4. 203 Non-Authoritative Information(信頼できない情報)
リクエストの内容が実際のオリジナルのものとは異なり、ローカルやプロキシなどの情報なので信頼できないと返されている状況。
2-2-5. 204 No Content(返せる内容なし)
リクエストを受理しているものの、返せる情報がない状況。
2-2-6. 205 Reset Content(内容のリセット)
リクエストは成功しているが、ユーザーエージェントに対して画面をリセットするよう返している状況。
2-2-7. 206 Partial Content(部分的に受理)
ツールを使用して分割ダウンロードを行ったり、部分的にリクエストを受理している状況。
2-2-8. 207 Multi-Status(複数存在する)
複数のステータスコードが存在する状況。
2-2-9. 208 Already Reported(既に報告済み)
既に処理・報告済みの状況。
2-2-10. 226 IM Used(IM使用)
IM(instance manipulation)の使用。Delta encoding in HTTPと言われる差分符号化技術をHTTP上で使う際に使われるステータスコード。簡単に言うと、前回送信したデータと比較して差分情報のみをやりとりする場合に使われるステータスコードのこと。
2-3. 300番台(Redirection 出力先変更)

「300番台」の「HTTPステータスコード」はドメイン変更などによりURLが変わった場合に表示されます。
イメージではこのような感じです。

2-3-1. 300 Multiple Choices(複数選択)
リクエストされた情報を確かめた結果、複数存在していたために、ユーザーエージェントやユーザーに選択肢を返信し、選択させます。
2-3-2. 301 Moved Permanently(恒久的に移動)
リクエストされたURLが変更されているケース。この場合、同時に新しいURLへの誘導も返される。
2-3-3. 302 Found(発見)
リクエストされたURLが一時的に存在しない状況のため、別のURLに転送される。
2-3-4. 303 See Other(他を参照せよ)
リクエストに対する情報は他のURLに存在する状況。この場合は、ユーザーをそこに誘導するようURLを指定し返信される。
2-3-5. 304 Not Modified(更新していない)
リクエスト先が更新していなかった状況。
2-3-6. 305 Use Proxy(プロキシ使用)
リクエスト先は、プロキシを使用しアクセスしなければならないなど制限がかかっている状状況。
2-3-7. 307 Temporary Redirect(一時的リダイレクト)
リクエスト先は一時的に移動(302とほぼ同じ内容)
2-3-8. 308 Permanent Redirect(恒久的リダイレクト)
リクエスト先のURLは変更されているため、新しいURLに誘導(301とほぼ同じ内容)
2-4. 400番台(Client Errror 処理失敗)

「400番台」の「HTTPステータスコード」は見たいウェブサイト側に問題がある場合に表示されます。
イメージではこのような感じです。


2-4-1. 400 Bad Request(不正)
定義していないメソッドを使用されているので、リクエストが理解できず、不正扱いされている状況。
2-4-2. 401 Unauthorized(認証が必要)
リクエストに応えるためには、認証資格が必要になりますが、ユーザーがその資格をもっていないためにアクセスできない状況。
2-4-3. 403 Forbidden(拒否)
ユーザーがリクエスト先へのアクセス権がないため、拒否されている。多くの場合は、ユーザーに見せたくないページや一般公開していないページなどに適用される。
2-4-4. 404 Not Found(未検出)
リクエスト先が見つからない、そもそも存在していないために、アクセスができず、「指定されたページは存在しません」などのエラーページが表示される状況。
2-4-5. 405 Method Not Allowed(未許可のメソッド)
要求されているメソッドは理解できるものの、使用を許可されていない状況。
2-4-6. 406 Not Acceptable(受理不可)
リクエスト先の情報が受理できない状況。
2-4-7. 407 Proxy Authentication Required(プロキシ認証)
プロキシの認証が必要な場合のエラー。
2-4-8. 408 Request Timeout(タイムアウト)
リクエストが時間内に完了せずに終了した状況。
2-4-9. 409 Conflict(競合/矛盾)
リクエスト先は現状のリソースと競合・矛盾するため完了できない状況。
2-4-10. 410 Gone(消滅)
リクエスト先が消滅したためか、利用できず転送先のURLも不明な状況。
2-4-11. 411 Length Required(長さが必要)
リクエストに対し、Content-Lengthヘッダがないため、アクセスが拒否されている状況。
2-4-12. 412 Precondition Failed(前提条件が失敗)
リクエスト元のヘッダーにある前提条件は、サーバーに適合できないために処理が失敗している状況。
2-4-13. 413 Request Entity Too Large(情報が膨大)
リクエスト先の内容が膨大であるため、サーバーの処理できない状況。
2-4-14. 414 Request-URI Too Large(URIが長い)
URIが長過ぎるためにサーバーの処理可能範囲を超えている状況。(※「URI」はこの後、個別で説明します)
2-4-15. 415 Unsupported Media Type(サポートされていない)
メソッドやメディアタイプがサポートされていないため、リクエストが拒否されている状況。
2-4-16. 416 Requested range not satisfiable(レンジは範囲外)
リクエスト先の情報が膨大なため、現状のリソースサイズを超えている状況。
2-4-17. 「URI」とは…?
「URI」は「Uniform Resource Identifier」の略で、
Web上にあるあらゆるファイルを認識するための識別子の総称で、URNとURLで構成されています。
もう少しまとめるてみると…
- Web上にある1つのファイルの「住所」を意味するのが
「URL(Uniform Resource Locator)」 - Web上にある1つのファイルの「名前」を意味するのが
「URN(Uniform Resource Name)」この2つをまとめたものが「URI」です!

「URI」は「URL」とほぼ同じ意味と考えて良さそうですね!
2-5. 500番台(Server Error サーバー不備)

「500番台」の「HTTPステータスコード」はサーバー側に問題がある場合に表示されます。
イメージではこのような感じです。


2-5-1. 500 Internal Server Error(サーバーエラー)
サーバー内で問題が発生し、エラーが起きている状況。
2-5-2. 501 Not Implemented(実装していない)
メソッドが、現状のサーバーでは対応していない状況。
2-5-3. 502 Bad Gateway(不正なゲートウェイ)
ネットワークの途中にあるサーバー間でのエラーが起きている状況(サーバー管理側の問題)
2-5-4. 503 Service Unavailable(サービス利用不可)
リクエスト先が一時的にアクセス集中やメンテナンスなどでサービスが利用できない状況。
2-5-5. 504 Gateway Time-out(ゲートウェイタイムアウト)
応答を待ったけど時間切れのため、サービスが利用できない状況。
2-5-6. 505 HTTP Version Not Supported(サポートされていないHTTPバージョン)
リクエスト先はサーバーが対応していないHTTPバージョンであるためサービスが利用できない状況。
3. まとめ 300番台、400番台、500番台エラーのざっくりとした意味は覚えておきましょう!

3ケタの数字で表示される「HTTPステータスコード」について紹介してきました。
個人的には特に300番台、400番台、500番台の意味を以下のような感じで把握していれば問題ないと思います。
- 100番台 : 処理中(表示されない)
- 200番台 : 閲覧OK!(表示されない)
- 300番台 : ドメインが変わった
- 400番台 : ウェブサイトに問題あり
- 500番台 : サーバーに問題あり

人が関わっている以上、何かしらの問題は必ず起きてしまいます。些細なことかもしれませんが、知らないよりも知っていた方が良いと思います!
あなたが困ったときのちょっとした参考になると幸いです。
m(_ _)m