初心者用に「ステータスコードとは何か」を説明します。詳しい説明みると、何のことかさっぱり・・。ウィキの説明が理解できるように『知識の底上げ』として書いてます。
HTTPステータスコードは、HTTPにおいてWebサーバからのレスポンスの意味を表現する3桁の数字からなるコードで、RFC 2616、RFC 7231等によって定められている。以下に一覧を示す。
引用元:HTTPステータスコード
404や301や403、500など、HTTPステータスコードですね。ちょっと解りにくいので、初心者が解るような言葉ではじめに説明して、その後ガッツリ説明しますね。
超初心者向け説明!ステータスコードって何か
- ステータスコードとは
- Webページにアクセスしたら、『ページのデータ置き場であるサーバー』はあなたのリクエスト(アクセス)に応え、画面に情報を表示させようと処理を行います。処理とはどのようにページを表示したか。
サーバーがブログを表示させるときにやった『処理内容と結果』を、3桁の数字で表現したものが、ステータスコードです。
ページがキチンと表示できても出来なくてもその結果を、あなたが見ている画面に返します。(画面上ではコードは見えない。)
ステータスコードには200番台~500番台があって、意味は下記。
○百番台 内容 200番台 ちゃんと表示できた 300番台 転送とかして、ひと手間かけたものだよ 400番台 表示できない何かの原因がサーバー以外であった 500番台 サーバー内部のトラブルで、表示できない
例えば画像を削除しリンク切れをおこし表示されないときや、URLを間違えて入力したり、削除された投稿へアクセスすれば『該当のモノは存在しないという意味』で404(原因はサーバー以外のトコロにある)。
出すべきページを出せばステータスコードは200ok(キチンとページを表示した)となります。この文章を見れてるなら、200okとステータスコードは出してます。
百番単位で内容が大きく分かれ、下2桁はさらに細かい処理結果の内容に分類して、あなたがアクセスしたページへ番号で返す。これがステータスコードです^^
サーバーが返すHTTP ステータスコードとは
WEB上にアクセスして見たいページが見れるのは、(レンタル)サーバーが『ブログのデータファイルの保管』して「表示させるための処理」をしているからです。
リンクを踏んでアクセスすれば、サーバーはデータベースから記事をとりだし、あなたのブラウザ(画面)にページを表示させようと、色んな処理をします。
またどうやって表示をさせたか(表示できなかったか)、表示させようと処理した結果を、ステータスコードで返します。
画像に説明を加えますね。コードの意味は後述。
- A子がアクセスしたら、サーバーはページの運営者の指示通り、301リダイレクト(転送)してページを表示させたよ。301を返し表示させた200 Ok。
- Bくんがアクセスしたとき、200ok。キチンと表示した!
- それぞれ違う意味を持った(処理をした結果)3桁の数字、301や200などを『ステータスコード』と言う。
サーバー側から言えば「アクセスのあったページを表示させるために、こんな処理をした」と言う結果をステータスコードに当てはめて、表示しているブラウザの裏側で返してる感じ。って言えば解りやすいですね。
知っておきたいメジャーなステータスコード
ブログを運営してると思わぬところでエラーが出てしまう事もあります。プラグインが競合して出たエラーや、phpなどのコードを間違えて管理画面にも入れない画面をだしたり。
ブログを立ち上げたばかりのときや、アクセス拒否をする設定を指定した場合、閲覧禁止にしたりなど。
- ブログを運営してると、実際エラー表示を目にするのは下記。
- 302 Moved Temporarily(302)エラーもあるけど、指示する事も可能。
- 403 Forbidden(403)同上
- 404 Not Found(404)同上
- 500 error Internal Server Error(500)
- 503
- キチンと表示されたときは下記コード
- 200 Ok(200)普通にネット上で見てる画面の大半がこれ。
- 301リダイレクト(301)ページを転送させ表示(200)したとき。
「サーバーがクライアントのリクエストにHTTPステータスコードでレスポンスを返す」って意味を説明
言葉がムツカしくって、何言ってるのか解りにくいですよね。
例えば見たいページAのリンクを踏んで表示するとき、ページAをページBに転送するとブログ運営者が指定してる場合があります。これは『HTTPステータスコード301』。
サーバーがクライアントの欲しい情報(あなたがアクセスしようとURLをクリックしたページ)を『リダイレクト(転送)処理をして表示したよっ!』結果、HTTPステータスコード301番を返しページを表示(200)したよ!」ってことです。
各単語の意味は下記。
- クライアントとは
- 「ブログなどの情報にアクセスする全ての人」あなたや私、企業もそう、ネット扱う人全て。ネットで情報を求めアクセスした全ての人や機械がクライアントになります。
- 『サーバー』が
- ネット上に情報を表示するため、必要な「データファイル」の保存・保管・表示する場所
- 『クライアント』の
- 「ネット上にある情報」を求めてアクセスしたもの全て
- 『リクエスト』に
- サーバーに情報をくださいって求める
- リンクをクリックしたり入力してアクセスしてページを見ようとする事
- 『HTTPステータスコード』で
- サーバーがページを表示させるとき行った処理内容と結果を表す3桁の数字
- 『レスポンスを返す』
- 要求のお返事(レスポンス)を返す
今このブログを読んでるので、
サーバーはクライアントである「あなた」のリクエスト(このページ)をキチンと表示しているから、ステータスコード「200 Ok」または、「301リダイレクト」して「表示200 Ok」をブラウザに返している。ワケです。(後述に画像あり)
ややこしいですか、ちょっとわかってきましたか!?ステータスコードの数字に、どんな意味があるか見ていきましょう!
ブログ運営で覚えておくと良いステータスコード
HTTPステータスコードの数字によって、サーバーの処理や結果が違うから、数字にはそれぞれの意味があると、わかりましたね。
ブログを運営してく上で知っておきたいステータスコードはザッと下記の通りです。上述したのと同じですけど、一般的に使われる言葉で書いてます。
サーバー側の目線で言葉の意味をとらえて見る。と言えば解りやすいので、少しずつ慣れていきましょう^^
○百番台 | 内容 |
---|---|
200番台 | クライアントからの要求の成功 |
300番台 | 要求を受けたページを表示させるため、再処理(リダイレクト)が必要 |
400番台 | クライアントの要求内容に表示できない原因があった |
500番台 | サーバー内部で要求の処理にミスがあった |
次は、百の位以下の下二桁のコードです!
表示成功の200 Ok
200番台のステータスコードの処理は、クライアントの要求の成功と言う意味で、ブログが表示されてヘッダーにはナビ、ブログタイトルそれから、コンテンツ部分があり、サイドにフッター全て装飾をされ、指示通りに表示されてる状態です。
表示させるためHTMLに記載されてるHTMLタグやCSS、JSファイルなど全てサーバーが拾い集めて読み込んでるから、ページがネット上で見られる状態になってます。
LINKFTPソフトの使い方が解る初歩ステップ:目次1.3:PHPファイルは、ブラウザにブログを表示させる
サーバーは「正常に情報出した」のでページをちゃんと出したよぉ!って意味の『200 Ok』と言うステータスコードを出してる状態!って言えば解りやすいです。
301 Moved Permanently 永久的に移動
301リダイレクトは、ページAが転送されページBを表示してるときに返すHTTPステータスコードになります。ページAのURLを完全にBページURLに移動させて表示させてる状態です。
そのページAのリダイレクトは.htaccessに記入してページBへの移動を実行させます。ただサイト移転の場合、元のページAの.htaccessが編集出来ない状態でしたら出来ません。。canonical(カノニカル)タグを使う手もありますが、ちょっと違う話かな・・。
記事を統合する場合は削除したページから、統合したページに同じサイト内で記事を転送するなど。※.htaceessファイルやプラグインで、評価も引き継ぐ301リダイレクトをすれば404ページになることも防ぐなども
またブログサービスにって、URLが完全に一致しなくても表示してくれるものもあるんです。http://~/image-broken/ってURLなのにhttp://~/image-bにしても表示してくれるのは301 Moved Permanentlyでリダイレクトし、404ページになるのを防止してくれます。
クロームの検証画面のNetworkの画面で見れば一目瞭然。『image-b』は、301リダイレクトされて『image-broken/』を正常に出し200 Okが表示。意図してリダイレクトさせてないけど、WordPressでは自動的にリダイレクトしてくれます。
300番台は表示させるため、転送する工程があるステータスコード。
302 Found 一時的に移動
302のリダイレクトは301とちがって、リダイレクトするけどこのURLに移動しますか?みたいなことがページに表示されてる時302 Foundになります。一時的なリダイレクトですね。
302 Moved Temporarily 一時的に移動
『302 Moved Temporarily』も一時的にページを移動と言う意味ですが、HTTPの手続きの仕方で変わるようです。
302リダイレクト
ステータスコード302を用いて行なうHTTPリダイレクト。HTTP 1.0では“Moved Temporarily”(一時的な移転)、HTTP 1.1では“Found”(発見した)を意味し、リクエストされたURLは新しいURLに一時的に移転したことを表す。HTTP 1.1では302に似た意味の303“See Other”や307“Temporary Redirect”が追加され、どちらも一時的な移転を意味するが、アクセスに用いるメソッド(GET、POSTなど)の扱いに違いがある。
私が経験したのは、ページ移動しようとしてリダイレクト先のURLが無限ループをおこして『302 Moved Temporarily』が表示されました。一時的な移動→移動できないURLのループを起こす→500エラーとして対処したって状態ですね。#複雑ですw

403 Forbidden 閲覧禁止
ページへ入ることを禁止されたとき返されるコードで要求(アクセス)したけど、ページの表示を実行せず『見せない。っと閲覧禁止したページ』のことです。
運営者が「.htaccessファイル」で画像やipアドレスにアクセス制限をかけてる場合もアクセス権がないという理由で閲覧禁止の403 Forbiddenが表示されます。
また、初めて独自ドメインをとって、別のブラウザから見たらアドレス(ドメイン)がまだ浸透がされてないときも浸透するまでの数時間~数日のあいだは、403 Forbiddenを表示させます。

一部サーバーのウェブアプリ ファイアーウォール『WAF』の誤認で403ページを出すこともあります。管理画面から更新したり画像をアップしようとしたとき、誤認で403 Forbiddenを出して運営者自身が、ページへ入る事を禁止される場合も…。
404 Not Found お探しのページが見つかりませんでした
探してるファイルが見当たらない、サーバーのディレクトリ(ブログ内フォルダ:階層化されたデータ格納場所)に該当のページや画像、その他ファイルがなかった場合404を返します。表示したくてもページがないから出せない状態ですね。
リンクの入力間違いで正しいパスがかかれてない場合や、該当ページをゴミ箱へポイッ!と捨てた場合、ページを非表示にした時も404 Not Foundになります。


500 error Internal Server Error 内部サーバーエラー
運営者が契約しているページを表示する場所サーバー内部で、必要ファイルを集めページ表示しようとしてるとき、エラーで該当ページを表示できない状態に陥ったとき返されるコードです。
またはサーバー側がアクセス急激な増大などによる負荷に耐えられず、500番を出すときもありこの場合、断続的につながります。開くと突然変な画面になり、気持ち悪い思いをされたでしょうけど、時間を置いてアクセスしてください。
内部サーバーエラーは、phpファイルの記載ミスや、.htaccessを違った文字コードでアップした時、プラグインの競合などでサーバー内部でエラーを起こしページを正常に表示できなくなります。※この場合は運営者が、コードの修正をしない限り表示しない。
たまに一瞬このエラーがでて更新すれば表示されるけどキャッシュやcookieの削除で表示される可能性も極まれにあったり。サーバー内部のエラーなので閲覧者はこれ以外、何もできないという悲しいエラーです。
500 error Internal Server Errorと出るのは500番台のエラー全て含んでいると、検索からの様子をずっと見てきた中で容易に想像できます。次の503でもサーバーの表示方法によって含まれる場合もあり、ある意味便利なコードとして利用されてるサーバーも。
運営者自身のミスで、ブログが表示されず真っ白(ワンパンチで即ノックアウト)状態です。カスタマイズ失敗した時など、よくおこります。
- プラグインが競合!ブログを表示させる3つ対処方法
- WordPressのUTF-8Nbomとは!文字コード・改行コードについて
- WordPress更新で画面が真っ白!エラー原因:全角・閉じ忘れ・競合…。解決法と復元方法
- WordPress初心者でも、真っ白になった画面を復元!エラーコードを表示させる2つの方法

この状態は訪れたユーザーさん的には、意味がわかりません。だから自作でエラーページを作って、エラーの状況をお知らせしてはいかがでしょうか!

難しい人はダウンロードできるページへ

503 Service Unavailable サービスを使用できません
アクセスが一気に増して一時的に負荷がかかった場合や、サーバーがメンテナンス中でサービスが利用できないときにこのコードが返されます。
検索上位入りページのキーワードがテレビ放送されたとき、検索ユーザーさんがいっきに流れ込んで場合。公開したページが一気にシェアされて飛ぶ鳥を落とす勢いでアクセスが入ったときサーバーの容量に耐え切れないと判断されたとき起こるエラーです。
こちらも同様、自分でエラーページを作成し、状況をお知らせできます!


HTTPステータスコードの説明が解りにくい原因!クライアントは人だけではない
ステータスコードについて説明をしましたけど、だいたいこの説明している各ページさんの書かれていることって難しいと思いませんか!?
- リクエストはアクセス。
- クライアントはアクセスしてきた訪問者。
これでいいって思いませんか!?よくよく見て知っていくと、人間だけが訪問者ではないから、この言いかたをしてます。
クローラーもサーバーのクライアント
検索エンジンのクローラーも日々WEB上を徘徊して情報を集めています。手元のボタンでブログ更新すると、サーバーにデータを保存します。その後クローラーはインデックスするためにサーバーにある情報をGETしにむかうんです。
LINK初心者ができるSEO!検索エンジンの仕組みから説明しよう!
サーバーのクライアントには、クローラーもいる!ってこと。サーチコンソールでもGoogleのbotクローラーが来てるのがわかります。訪問者は人間だけでないってこと。クローラーもアクセスしてくるんですよね。
先人の言葉を見てると、機械も訪問者だと見えてくるんですよね。なので、なるほどぉ、あの言葉が的確だなぁって感じます^^
Googleだけでなく、他の検索エンジンにも情報を伝えてますし。
LINKGoogle XML SitemapsでXMLサイトマップ送信!検索エンジンに情報を伝える為にプラグインで登録
本当にアクセスしてる場合、攻撃者もクライア…(´・ω:;::..
来てほしくもない、15秒間で1000回以上不正アクセスを繰り返す攻撃ブルートフォースアタックで突破されたら、クライアントになるのかも!?
LINKWAFがディレクトリトラバーサルの攻撃からWordPress、ブログを守るために出来ること
リファラスパム対策済みですけど、.htaccessで拒否してないので、それもクライアントになってるかも。。。不正アクセスやリンク元がおかしいこのスパムも、もし実際アクセスしてたらそうなりかねない…(´・ω・`)
アクセスしてなければ、ならないですけど(*ノωノ)
簡単にセキュリティ対策ができる、SiteGuard WP Pluginで設定してると、403を返してる場合も多いので(ロリポップ)、この辺もクライアントになるのかなぁ?嫌ですけど。
クライアントからのリクエストは、人間でありクローラーbotでもあるってお話です。余談でした^^;
さいごに
ブログ運営で知っておきたいHTTPステータスコードを紹介しましたが、こうして表示されてるって思ったら少しだけサーバーの様子を垣間見た気分ですよね。
でも普段見えないステータスコードを実際に目にするのは、何かしらエラーが出たので修正が必要になることを理解して頂けましたでしょうか。今までよく解らなかったのが、少しでも解ってもらえてたら、アレコレ試行錯誤して作った甲斐があります!
これからエラーが出たら、どこがどうなってエラーが出たのか、またどう対処するべきか、知るきっかけになればと思う、かうたっくでした!
Comments