仕組みを知る

HTTPステータスコードとは?一覧と403・404・500の見分け方

HTTPステータスコードは、ブラウザのお願いにサーバーが返す返事の番号です。先頭が4なら自分の側で確かめること、5ならサーバー側の不調。200・301・403・404・500の一覧で、番号を見た後の一手が決まります。

HTTPステータスコードとは?一覧と403・404・500の見分け方

30秒でわかる答え

HTTPステータスコードとは、ブラウザのお願いにサーバーが返す返事の番号です。先頭が2なら成功、3なら引っ越し、4なら自分の側(URL・ログイン・権限)を確かめ、5ならサーバー側の不調なので少し待ってから開き直します。

HTTPステータスコードとは|サーバーからの返事の番号

「404 Not Found」や「500 Internal Server Error」の白い画面が出たとき、まず分からないのは、自分が何か壊したのか、相手のサイトが悪いのかです。

HTTPステータスコードとは、ブラウザのお願いに対してサーバーが返す「返事の番号」で、先頭の数字が4なら自分の側で確かめること、5なら相手のサーバー側の不調を表します。

ブラウザはサーバーへ「このページをください」とお願い(リクエスト)を送り、返事(レスポンス)を受け取ります。3桁の番号は、その返事の先頭に必ず付いています。お願いと返事の基本は リクエストとレスポンスとは に、お願いが届く道のりは 第6話「お願いの言葉はどう届く?」 にあります。

たとえるなら、サーバーは図書館の受付です。本を頼むと、本と一緒に「受付番号つきの返事カード」が返ります。本が出れば200番、棚がなければ404番、奥の作業場で手が止まれば500番です。本物の受付と違い、200番のカードは画面に出ません。ページがふつうに見えているとき、裏では200が返っていて、番号が目に入るのはほぼエラーのときだけです。

ユイ

管理画面に404と500が並んでいて、どちらも同じ失敗に見えます

ピコ

HTTPステータスコードは返事カードの番号だよ。番号ごとに、見る場所が変わるんだ

マコト

怖い番号ではなく、次に確認する棚を教えてくれる札として読めばいい

番号を全部覚えなくても読めます。見るのは、先頭の1桁だけです。

HTTPステータスコードの読み方|先頭の数字で誰の側か分かる

先頭の1桁が、誰の側の話かを決めます。資料では下2桁をxにして「4xx」とも書きます。

先頭の数字意味・誰の側か見たらまずすること
2(200番台)成功何もしない。ページは見えている
3(300番台)新しい場所へ引っ越した何もしない。ブラウザが自動で移る
4(400番台)自分の側に確かめることがあるURL、ログイン、権限の順に見直す
5(500番台)相手のサーバーの中で止まった少し待って開き直す。直らなければ知らせる
ユイとマコトとピコが、サーバーから返る結果カードを種類ごとに仕分けている
ステータスコードは、成功、移動、リクエスト側の確認、サーバー側の確認を分ける返事カードです。

ユイ

500が出たとき、私はURLを何度も見直していました。あれは意味がなかったんですね

マコト

止まったのは向こうの作業場だからね。そういうときは少し待つか、番号と操作を添えて知らせるほうが早い

再読み込みを連打する前に先頭の1桁を見れば、むだな数分が消えます。ただし同じ400番台でも、401・403・404では直し方が違います。

HTTPステータスコード一覧|200・301・404・500の早見表

画面に出やすい番号を、見たあとの一手まで並べました。番号の横の英語は、エラー画面にそのまま出る言葉です。この決まりは HTTPとは の約束ごとの一部で、世界中のサーバーが同じ番号を使います。

番号と画面の英語意味見たらすること
200 OK成功なし。見えているページの裏はこれ
301 Moved Permanently新しいURLへ引っ越したなし。ブラウザが自動で移る
302 Found一時的に別の場所へ案内なし。自動で移る
400 Bad Requestお願いの形がおかしいURLや入力を打ち直す
401 Unauthorizedログインが必要か切れているログインし直す
403 Forbidden見る権限がない権限のある人に頼む。URLも確かめる
404 Not FoundそのURLのページがないURLを直す。トップから探す
500 Internal Server Errorサーバーの中で処理に失敗少し待つ。直らなければ知らせる
503 Service Unavailable混雑やメンテナンスで今は受けられない時間をおいて開き直す

いちばん迷うのが403・404・500です。どれも「開けない」画面なのに、止まった場所は三つとも違います。

403・404・500の違い|ステータスコードで止まった場所が分かる

図書館の受付で言うと、403は入口で「この本はあなたには出せません」と断られた状態、404は受付まで通ったのに頼んだ棚がない状態、500は奥の作業場で手が止まった状態です。

ユイとピコが、見つからない棚と処理が止まった作業場を見比べている
404は指定されたものが見つからない状態、500はサーバー側の処理が止まった状態として分けて見ます。

だから直し方も変わります。403はログインと権限、404はURLのつづりとリンクの古さを見れば、自分の手元で前へ進めます。500だけは利用者の側に見直すものがなく、待つか運営者へ知らせます。404の直し方は 404とは が、500でサーバーの何を調べるかは 500エラーの原因 が持っています。

HTTPステータスコードが出たときの確認順|誰に何を伝えるか

エラー画面を見たら、この順で進めます。

  1. 先頭の1桁を見る。4なら自分の手元、5なら相手のサーバーです。
  2. 400番台なら、URLのつづり、ログイン、見る権限の順に確かめます。
  3. 500番台なら、少し待って開き直します。それでも同じなら、運営者や問い合わせ窓口へ「どのURLで、どの操作のあとに、何番が出たか」を伝えます。

「ログイン後の保存ボタンで500」のように操作とURLを添えると、受け取った側はリンク切れ、権限、サーバー処理のどこを見るかをすぐ決められます。運営する側は、この3点をそろえてからサーバーの記録(ログ)と設定を見ます。返事を返す係の居場所は Webサーバーとは で見えます。

番号が出ない画面は、別の話です。「このサイトにアクセスできません」のような画面は、お願いがサーバーまで届いていない合図で、DNSや回線が候補です。見分け方は DNSエラーとは にあります。番号が見えていれば返事は届いていて、調べる範囲は半分になります。

ミニワーク|ステータスコードを三つの箱に仕分ける

次の番号を、「何もしなくてよい」「自分の手元を見る」「相手のサーバーを待つ」の三つの箱に入れてみましょう。

  • 200
  • 301
  • 403
  • 404
  • 500
  • 503

答えは、200と301が「何もしなくてよい」、403と404が「自分の手元を見る」、500と503が「相手のサーバーを待つ」です。先頭の1桁だけで分けられたなら、読み方は身についています。

ステータスコードでよくある質問

Q1. 200は見たことがないのに、本当に返っているのですか?

A. 返っています。200はページ本文と一緒に届き、ブラウザは本文だけを表示します。番号が見えるのは、本文の代わりにエラーの案内が返ったときです。

Q2. 404と500はどちらも開けない画面ですが、原因は同じですか?

A. 違います。404は頼んだURLのページがサーバーにない状態で、自分の手元を見直せます。500はサーバーの中で処理が失敗した状態で、待つか知らせるかです。

Q3. 再読み込みすれば直りますか?

A. 500番台、とくに503は混雑やメンテナンス中の返事なので、少し待ってから開き直します。400番台は、URLやログインを変えずに読み込み直しても同じ番号が返ります。

ステータスコードは先頭の1桁だけ覚えれば読める

ユイの管理画面に並んでいた404と500は、もう同じ失敗ではありません。404は手元のURL、500は向こうの作業場。先頭の数字を見れば、自分で直せるものか、待つものかが分かれます。

今すぐ試すなら、このページのURLの最後に適当な文字を一つ足して開いてみてください。「ページが見つかりませんでした」という画面が出ます。画面に番号は出ていなくても、サーバーは404の返事カードを付けて返しています。何かを壊した合図ではありません。

LAB WHITEBOARD

HTTPステータスコードを一文で説明してみよう

「HTTPステータスコードを先頭の数字で読み分け、400番台は自分の側、500番台はサーバー側と判断して、403・404・500の違いと次の確認先を自分の言葉で説明できるようになる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。