どうも、Web周りの技術について勉強しているものです。
突然ですがWebをみようと思ったけどページがうまく表示されなくて「404 Not found」みたいな表示が出たことはないでしょうか?
この「404」の部分をステータスコードと言うのですが、これを見ることで、どのようなことがおこっているかを大体把握することができます。
そこで今回はそんな便利なステータスコードについてざっくりと解説したいと思います。
ステータスコードについてざっくり解説
ステータスコードの重要性
そもそもHTTPはリクエスト、レスポンス型のプロトコルです。要するにリクエストとレスポンスがセットになっていると言うことですね。そしてレスポンスの方に、今回の話のメインであるステータスコードが含まれています。
ステータスコードの重要性は「クライアントの挙動を左右するから」です。
Webサービスを設計するにあたって、もしレスポンスに間違ったステータスコードを割り当ててしまうと、クライアントが混乱してシステム全体の挙動に支障をきたしてしまいます。逆にステータスコードをきちんと実装することで、使いやすいWebサービスとなります。
ステータスライン
HTTPリクエストを送って、その後に返ってくるレスポンスはレスポンスメッセージと言われます。
基本的にはレスポンスメッセージの1行目にあるステータスラインに、今回の話の肝であるステータスコードが入っています。図の場合だと200であり、この数字からリクエストが成功したことがわかります。
ステータスコードの意味
ステータスコードは3桁の数字です。先頭の数字によって次の5つに文類できます。
- 1xx:処理中
- 2xx:成功
- 3xx:リダイレクト
- 4xx:クライアントエラー
- 5xx:サーバーエラー
1xx:処理中
処理が継続していることを示します。対処法としては、そのままリクエストを継続するか、リクエストを再送信します。
2xx:成功
リクエストが成功したことを示します。
3xx:リダイレクト
他のリソースへのリダイレクトを示します。Webページを新しく更新した際に、古いURLにアクセスしたら新しいWebページに飛ぶように設定するといった形です。
4xx:クライアントエラー
クライアントエラーを示します。要するに自分のパソコンからのリクエストが何かおかしいと言うことです。例えばすでになくなっているページを参照してしまった等です。
5xx:サーバーエラー
サーバーエラーを示します。これは自分のパソコンはあまり関係なく、サーバー側に関係があることが多いです。例えば定期的なメンテナンスなどでサーバーにアクセスできなくなっているときに発生します。
まとめ
このようにステータスコードを見ることで、どのようなことが起きているのかを簡単に知ることができます。ステータスコードを先頭の文字で文類することで、クライアントとサーバーの約束事を最低限に抑えています。
もしWeb周りで何かうまくいかない時は、ステータスコードをみてみると解決するかもしれませんね。