[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

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

HTTPステータスライン

pointこの用語のポイント

pointHTTPレスポンスを構成する部品だよ

point3つの部品のうち1番上の部品だよ

point「HTTPリクエストの結果」が、ざっくり書かれているよ

スポンサーリンク

簡単に書くよ

HTTPステータスラインとは

HTTPレスポンスを構成する部品のひとつ
であり

「HTTPリクエストの結果」が、ざっくり書かれている場所
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

ホームページが表示される流れ
HTTP
HTTPリクエスト
HTTPレスポンス


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

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

HTTPステータスライン

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

HTTPステータスライン2

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

HTTPステータスライン3

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

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

HTTPステータスライン4

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

HTTPステータスライン5

リクエストは「これをやってよー!」なお願いです。
カッコ付けて「要求」などと表現されることもあります。

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

ただし、単に「リクエスト」と表現すると、何のリクエストなのかが、はっきりしません。
通信したいです」も「今日の晩御飯はトンカツが食べたいな~」も「あの曲を流してくださ~い」もリクエストと呼べますからね。

そこで頭に「HTTP」を付けて「HTTPリクエスト」と表現するのです。
そうすれば

HTTPのリクエストなのね
 ↓
HTTPってことはホームページ関連ですか
 ↓
ホームページの話で出てくるリクエストのことね


と分かります。

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

HTTPステータスライン6

レスポンスはリクエストに対する反応(返事)です。
カッコ付けて「応答」などと表現されることもあります。

HTTPリクエストに対する反応(返事)だからHTTPレスポンスです。

HTTPリクエスト:「このページをおくれ」なお願い
HTTPレスポンス:「ほれ、そのページだよ」なお返事


となります。

HTTPステータスライン7

以上を踏まえて、本題に入ります。

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

答えを先に書いてしまいますが

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


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

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


のようになっています。

HTTPステータスライン8

「HTTPステータスライン」とバッチリ書いてありましたね。

はい、そうです。
HTTPレスポンスを構成する3つの部品の1つが「HTTPステータスライン」です。
長ったらしいので、単に「ステータスライン」と表現されることもあります。

HTTPステータスライン9

実際の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<meta name="application-name" content="\343\202\217\343\202\217\343\202\217IT\347\224\250\350\252\236\350\276\236\345\205\270"/>\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ステータスラインには「HTTPリクエストの結果」が、ざっくりと書かれています。
この例では

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

と書いてあります。

HTTPステータスラインの書式は

【HTTPのバージョン】[空白]【ステータスコード】[空白]【ステータスコードの説明】

です。

【HTTPのバージョン】は「どんなルールで」を指定する場所です。
2017年7月現在は「HTTP/1.0」か「HTTP/1.1」のどちらかが指定されていることが多いと思います。
※2015年に「HTTP/2」なんてのが生まれたようなので、今後は「HTTP/2」が主流になってくるのかもしれません。

【ステータスコード】は「どうだった」を表す3桁の数字です。
詳細は「HTTPステータスコード」の解説をご覧ください。

【ステータスコードの説明】はステータスコードの補足説明が英語で書いてあります。
「OK」「Not Found」「Internal Server Error」などです。

つまり、HTTPステータスラインには

【どんなルールで】[空白]【どうだった】[空白]【補足説明】

が書いてあります。
HTTPステータスラインの情報を見れば「私のお願い、どーなった?」が、ざっくりと分かる理屈です。

image piyo2

一言でまとめるよ

まぁ「HTTPステータスライン」って単語が出てきたら「HTTPレスポンスの部品で『HTTPリクエストの結果』が書かれている場所なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク