今回の記事では、webサイトやwebシステムを運営していてよく目にするステータスコードについて解説していきます!
ステータスコードとは
ステータスコードとは、正式名称でHTTPステータスコード(HTTP Status Code)といいます。ざっくり意味を解説すると「HTMLの画面を表示する前にブラウザが受信する3桁の番号」のことです。
ステータスコード番号は100番台~510番台までの間で割り振られていていて、各数値にはそれぞれ意味があります。
この3桁の数値を「HTMLを受信する一歩前」に受信することによって、ブラウザが「正しい処理」をできるようになっています。奥が深いですよね!下記の表がステータスコードの一覧表です。
ステータスコード(番号) | 意味 |
100 Continue | クライアントが要求を途中まで送ってきたところで、サーバーが (その時点では) 問題はないから続きを送りたまえという意思表示をするものです。 |
101 Switching Protocols | Upgrade リクエストヘッダーを含むメッセージが送られたクライアントが要求する際に、サーバーが切り替えようとしているプロトコルを示します。 |
200 OK | 成功 |
202 accepted | 「実際にリクエストは受け取ったけど処理はされてないよ」ということを表すステータスコードです。 |
301 Moved Permanently | 恒久的にページが移動している |
302 Found | 一時的にページが移動している |
400 Bad Request | リクエストが不正 |
401 Authorization Required | 要認証ベーシック認証でログインミスした時等 |
403 Forbidden | アクセス禁止管理画面にアクセスしてしまった場合等 |
404 Not Found | アクセスができないURLをタイプミスしてファイルがない場合等 |
500 Internal Server Error | サーバエラー[.htaccess]を書き間違えた時等 |
503 Service Temporarily Unavailable | メンテナンス中やアクセス過多等でサービス利用不可の状態 |
100番台のステータスコード
100番台のステータスコードは、「リクエスト情報処理中」という意味です。「Webサーバ側」が「もう少し情報が欲しい」「処理を完了するのにもう少し時間がかかるよ」というレスポンスを返していることを表しています。なので簡単にいうと「100番台はリクエストに対して処理が継続中の状態でまだ時間かかるよ」という感じです。
200番台のステータスコード
代表的なステータスコードとしては「200 OK」「202 accepted」があります。「200番台=正常で異常なし!正しく表示されてるよ」という感じです。
300番台のステータスコードはリダイレクト系です
ステータスコードとしては「301 Moved Permanently」「302 Found」があります。永続的にページを転送する「301 Moved Permanently」や、一時的にページを転送する「302 Moved Temporarily」があります。300番台のステータスコードは、「リクエストを完了させたいなら追加処理が必要ですよ」という意味です。
しかし、クライアントが自動的にURLを変更してくれなかったりすることがあるので、あまり300番台でのステータスコードでのリダイレクト設定は実際の業務ではあまり使われません。
400番台のステータスコードはクライアントエラー系
ステータスコードとしては「401 Authorization Required」「403 Forbidden」「404 Not Found」等があります。
400番台のステータスコードは、Webブラウザからのリクエストが誤っていて、レスポンスを返せていないことを表しています。Webページを閲覧している際に、400番台のステータスコードが一番目にすることが多いんじゃないでしょうか?
400番台のステータスコードの中では、アクセスが禁止されていることを意味する「403 Forbidden」や、ページが見つからないことを意味する「404 Not Found」が代表的です。
なので、400番台と出てきたら「クライアントエラーが発生してるんだな」と覚えておけばいいです。
500番台のステータスコードはシステムエラー系
代表的なステータスコードとしては「500 Internal Server Error」「503 Service Temporarily Unavailable」があります。
500番台のステータスコードは、「サーバーがブラウザからのリクエストの処理に失敗した状態」ということを表しています。
代表的なもので、バグ等でサーバの内部にエラーがあることを意味している「500 Internal Server Error」だったり、短時間のうちにアクセスが集中し過ぎでサーバが一時的に利用できない状態であることを意味する「503 Service Unavailable」があります。よくサービスのセールやニュースで取り上げられたりしてHPに行ったら見れなくなってるあれです。
なので、500番台と出てきた場合、「システム側に不具合が発生している」と思っておけば大丈夫です!
ステータスコードのまとめ
今回の記事ではステータスコードについて解説しました。システムエンジニアとして仕事をしていると「これ何のエラーメッセージだったけ?」と悩むことがよくあります。
分からないのは都度調べてもいいのですが、ある程度意味を理解しておくと効率よく作業が進められるので、ぜひ意味をなんとなく覚えておきましょう!