「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

HTTPステータスコード

pointこの用語のポイント

point3桁の数字だよ

pointホームページの話で出てくるよ

point「このページをおくれ」に対する返事だよ

pointHTTPレスポンスにくっつくよ

スポンサーリンク

簡単に書くよ

HTTPステータスコード(読:エィチティーティーピーステータスコード 英:HTTP status code)とは

HTTPリクエスト(ホームページの話で出てくる「このページをちょうだい」な、お願い)の結果を表す3桁の数字。
もう少し噛み砕いて書くと

ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して出される「このページをちょうだい」なお願いに対するWebサーバさんからの返事を表した3桁の数字
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として、ホームページが表示される流れについて簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフトWebブラウザからホームページのファイルが置いてあるコンピュータWebサーバに対して「このページをおくれ」と お願いが出されます。

HTTPステータスコード

そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。

HTTPステータスコード2

お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。

HTTPステータスコード3

これが、ホームページが表示されるときの流れです。

以上を踏まえて、読み進めてください。

ホームページが表示される流れにおいて、WebブラウザさんからWebサーバさんに対して「このページをおくれ」な お願いが出されました。

HTTPステータスコード4

それに対してWebサーバさんは返事をします……が、必ずしも「OK!ファイルを送るね!」と返してくれるとは、かぎりません。
「ごめん、そのファイルは持ってないわ」や「今、忙しいから出直してきて」などと返事をする場合も あります。

HTTPステータスコード5

これらの返事を、いちいち文章で伝えるのは面倒くさいです。
そこでWebサーバさんは、返事の内容に対応する3桁の数字で返事をします。
「OK!ファイルを送るね!」を意図する数字として「200」を返したり「ごめん、そのファイルは持ってないわ」を意図する数字として「404」を返したりするのです。

HTTPステータスコード6

この

返事の内容に対応する3桁の数字

が「HTTPステータスコード」です。

HTTPステータスコード7

HTTPステータスコードは概ね以下のような分類になっています。

100番台:情報だよ~
200番台:上手くいったよ~
300番台:転送したら、こんなんなったよ~
400番台:おまえ(Webブラウザ側)が、なんかおかしいよ
500番台:ごめん、俺(Webサーバ側)が、なんかおかしいんだわ


まずは

1.「200」が「OK」を表す
2.400番台のエラーが出たらパソコン側が何かおかしい(から頑張れば直るかもしれない)
3.500番台のエラーが出たらWebサーバ側が何かおかしい(からホームページを見る方は何もできない。直るのを待つだけ)


を覚えてください。
この3つさえ覚えておけば、普通にホームページを見る分には困らないと思います。

ちょっと休憩2

ここから先は、もう少しだけ専門的な説明です。
なんとなく分かれば満足な人は読む必要ありません。
興味がある人は、このまま読み進めてください。

ホームページを表示する流れにおいて、WebブラウザさんとWebサーバさんは、やり取りをしました。
このやり取りで使われる お約束事を「HTTP」と言います。
HTTPは「ホームページのファイルとかを受け渡しするときに使う お約束事」です。

HTTPステータスコード8

WebブラウザさんからWebサーバさんに出される「このページをおくれ」な お願いは「HTTPリクエスト」と言います。

HTTPステータスコード9

Webサーバさんから返ってくる「ほれ、そのページだよ」なお返事は「HTTPレスポンス」です。

HTTPステータスコード10

HTTPレスポンスは3つの部品から成り立っています。

1.HTTPステータスライン(ステータスライン)
2.HTTPレスポンスヘッダ(ヘッダ)
3.HTTPレスポンスボディ(レスポンスボディ)


の3つです。
構造としては

「ステータスライン」
「ヘッダ」
空行CRLF】)
「レスポンスボディ」


のようになっています。

HTTPステータスコード11

実際のHTTPレスポンスは、例えば以下のような内容になっています。

HTTP/1.1 200 OK\r\n
Server: nginx\r\n
Date: Tue, 11 Jul 2017 09:23:07 GMT\r\n
Content-Type: text/html\r\n
Transfer-Encoding: chunked\r\n
Connection: keep-alive\r\n
\r\n
<!DOCTYPE html>\r\n
<html lang="ja">\r\n
<head>\r\n
\t<meta http-equiv="content-type" content="text/html; charset=UTF-8" />\r\n
\t<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\r\n
\r\n
\r\n
\t<meta name="keywords" content="\350\276\236\345\205\270,IT,\347\224\250\350\252\236,\345\210\235\345\277\203\350\200\205">\r\n
\t<meta name="author" content="Makoto Sasaki">\r\n
\t<meta name="copyright" content="Copyright PCS">\r\n
\r\n
\t<link rel="stylesheet" href="css/style.css?ver=00109">\r\n
\t<link rel="stylesheet" href="css/search.css?ver=00109">\r\n
\t<script src="./js/jquery-1.7.2.min.js?ver=00109"></script>\r\n
\t<script src="./js/common.js?ver=00109"></script>\r\n
</head>\r\n
<body>\r\n

(中略)

</body>\r\n
</html>\r\n
\r\n


ごちゃごちゃしていて分かりにくいですが、1行目の

HTTP/1.1 200 OK\r\n

に注目してください。
これがHTTPステータスラインです。

HTTPステータスコード12

HTTPステータスラインには「HTTPリクエストの結果」が、ざっくりと書かれています。
この例では

「HTTP/1.1」で「200 OK」が返ってきたよ!

と書いてあります。

おっと、HTTPステータスラインの中に「200」と書いてありますね。
この3桁の数字「200」がHTTPステータスコードです。

HTTPステータスコードは

1.HTTPレスポンスに含まれる
2.HTTPステータスラインに書いてある
3.HTTPリクエストの結果を表す


3桁の数字です。
「HTTP」が多くて早口言葉みたいですが、気が向いたら覚えてあげてください。


image piyo2

一言でまとめるよ

まぁ「HTTPステータスコード」って単語が出てきたら「『このページをおくれ』に対する返事(を表す数字)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像034
書籍画像041

おまけ

■訳してみるよ

「HTTP」は「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略です。
「HyperText(ハイパーテキスト)」はIT用語の「ハイパーテキスト」です。
ちょっと意訳ですが「ホームページのファイル」だと思ってください。
「transfer(トランスファー)」の意味は「移す」とか「動かす」とか「運ぶ」とかです。
「protocol(プロトコル)」の意味は「(外交上の)儀礼」とか「議定書」とかですが、今回は「お約束事」と解釈してください。
「status(ステータス)」の意味は「地位」とか「身分」とか「立場」とかです。
ただし、今回は「状態」と解釈してください。
「code(コード)」の意味は「記号」とか「暗号」とか「符号」とか「コード」とかです。
何となく くっつけると

ホームページのファイルを運ぶお約束事の状態(を表す)記号

となります。

訳01


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
「定年力」の鍛え方 老後の毎日を最高にする方法
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた