ステータスコードは「サーバーからの返事」
ブラウザでページを開くとき、裏側ではブラウザがサーバーに「このページをください」とお願い(リクエスト)をしています。サーバーはそれに対して、「はい、どうぞ」「そのページは見つかりません」といった結果を3桁の数字で添えて返事します。この数字が、HTTPステータスコードです。
普段は成功を示す「200」が使われているため見えませんが、うまくいかなかった時にだけ、画面に数字が表示されます。「404」「503」といった数字を見かけたことがある方も多いはずです。
先頭の数字で、おおまかな意味が分かる
3桁の数字は、先頭の1桁でグループ分けされています。
| 先頭の数字 | 意味 | ひとことで |
|---|---|---|
| 1xx | 処理を継続中 | 受け付けました(途中経過) |
| 2xx | 成功 | うまくいきました |
| 3xx | 転送(リダイレクト) | 別の場所へ移動しました |
| 4xx | リクエスト側の問題 | 頼み方に問題があります |
| 5xx | サーバー側の問題 | サーバーの内部で問題が起きました |
まずは「4xxなら頼む側(アドレスや権限など)、5xxなら受ける側(サーバー)」と覚えておくと、原因の見当がつけやすくなります。
よく見かけるステータスコード一覧
| コード | 名称 | 意味 |
|---|---|---|
| 200 | OK | 正常に処理できた |
| 301 | Moved Permanently | 恒久的に別のURLへ移動した |
| 302 | Found | 一時的に別のURLへ案内している |
| 304 | Not Modified | 前回から更新がないので、手元のキャッシュを使ってよい |
| 400 | Bad Request | リクエストの形式がおかしい |
| 401 | Unauthorized | 認証(ログイン)が必要、または失敗した |
| 403 | Forbidden | アクセスする権限がない |
| 404 | Not Found | 指定のページが見つからない |
| 429 | Too Many Requests | 短時間にリクエストを送りすぎた |
| 500 | Internal Server Error | サーバー内部で予期しないエラーが起きた |
| 502 | Bad Gateway | 間に入る中継サーバーが、奥のサーバーから正しい返事を受け取れなかった |
| 503 | Service Unavailable | 混雑やメンテナンスなどで、一時的に応答できない |
| 504 | Gateway Timeout | 中継サーバーが、奥のサーバーの返事を待ちきれなかった |
閲覧者側:表示された時の対処
404 Not Found が出たとき
- アドレス(URL)に入力ミスがないか確認する
- サイトのトップページに行き、検索機能やメニューから目的のページを探す
- 古いブックマークや、検索結果のリンクから来た場合は、ページが削除・移動された可能性がある
403 Forbidden や 401 が出たとき
- ログインが必要なページではないか確認する
- 共有されたリンクの場合、共有する側が権限を付けているか確認する(Googleドライブなどでよくあるケースです)
- 会社のネットワークやVPNを経由している場合は、接続元の制限がかかっていないか確認する
500・502・503・504 が出たとき
- 数分〜しばらく時間を置いて、再読み込みする
- 別のブラウザ、またはスマホの回線など別のネットワークで試し、自分の環境の問題かを切り分ける
- サイトの公式サイトやSNSで、障害・メンテナンスのお知らせが出ていないか確認する
5xx系はサーバー側の問題なので、利用者が操作を重ねても直らないことがほとんどです。何度も連続で再読み込みするより、少し待つほうが復旧に気づきやすくなります。
429 Too Many Requests が出たとき
短時間にアクセスや操作を繰り返したため、サーバーが一時的に制限をかけている状態です。しばらく待てば解除されることが多く、仕組みの詳細はAPIのレート制限とはで解説しています。
運営者側:見逃したくないポイント
自分でサイトやサービスを運営している場合は、ステータスコードを「点検のサイン」として使えます。
- 404が多い:削除したページへのリンクが残っていないか確認する。URLを変えた場合は、301で新しいURLへ転送する
- 500系が出る:アプリのエラーログを確認する。特定の操作でだけ起きるなら、その処理が原因の可能性が高い
- 502・504が出る:間に入っている中継サーバーと、奥のサーバーの接続や処理時間を確認する。中継の仕組みはリバースプロキシとはも参考になります
- 503が出る:アクセス集中やメンテナンスの可能性。急な増加に備える考え方はCDNとはが参考になります
エラー画面そのものの読み方は、エラーメッセージの読み方の記事もあわせてご覧ください。
振り返ると
HTTPステータスコードは、Webサーバーがその結果を数字で伝える「返事」です。2xxは成功、3xxは転送、4xxは頼む側の問題、5xxはサーバー側の問題、と先頭の数字を見るだけで、原因を切り分ける最初の手がかりになります。