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

HTTPレスポンスヘッダ

pointこの用語のポイント

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

point3つの部品のうち真ん中の部品だよ

point「ステータスラインに書ききれないレスポンスの情報」が書かれているよ

スポンサーリンク

簡単に書くよ

HTTPレスポンスヘッダ(読:エィチティーティーピーレスポンスヘッダ 英:HTTP response header)とは

HTTPレスポンス(ホームページの話で出てくる「このページをちょうだい」なお願いに対する返事)を構成する部品のひとつ
であり

「HTTPステータスラインに書ききれないレスポンスの情報」が書かれている場所
です。


image piyo

詳しく書くよ

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

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


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

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

HTTPレスポンスヘッダ

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

HTTPレスポンスヘッダ2

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

HTTPレスポンスヘッダ3

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

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

HTTPレスポンスヘッダ4

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

HTTPレスポンスヘッダ5

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

HTTPレスポンスヘッダ6

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

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

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

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


と分かります。

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

HTTPレスポンスヘッダ7

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

HTTPレスポンスヘッダ8

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

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


となります。

HTTPレスポンスヘッダ9

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

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

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

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


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

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


のようになっています。

HTTPレスポンスヘッダ10

「HTTPレスポンスヘッダ」とバッチリ書いてありましたね。

はい、そうです。

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

が「HTTPレスポンスヘッダ」です。
長ったらしいので「レスポンスヘッダ」や「ヘッダ」と表現されることも あります。

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


ごちゃごちゃしていて分かりにくいですが、2行目から空行(\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


がHTTPレスポンスヘッダです。

順番が前後しますが、1行目の

HTTP/1.1 200 OK\r\n

はHTTPステータスラインです。

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

を表しています。

これだけだと、ちょっと情報が足りないですよね。
返事をしてくれた時間とかも、できれば知りたいです。

HTTPレスポンスヘッダにはステータスラインに書ききれない情報が書かれています。
例えば「何時に返事したよ!」とかが書いてあります。

HTTPレスポンスヘッダの書式は

【フィールド名】:【内容】

です。
この書式で必要な数だけ縦にズラズラっと並びます。

【フィールド名】に書かれるのは「Content-Type」などですね。
【内容】には、それらの項目に対する実際の値が入ります。


image piyo2

一言でまとめるよ

まぁ「HTTPレスポンスヘッダ」って単語が出てきたら「HTTPレスポンス(ホームページの話で出てくる「このページをちょうだい」なお願いに対する返事)の部品で『ステータスラインに書ききれないレスポンスの情報』が書かれている場所なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「HTTP」は「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略です。
「HyperText(ハイパーテキスト)」はIT用語の「ハイパーテキスト」です。
ちょっと意訳ですが「ホームページのファイル」だと思ってください。
「transfer(トランスファー)」の意味は「移す」とか「動かす」とか「運ぶ」とかです。
「protocol(プロトコル)」の意味は「(外交上の)儀礼」とか「議定書」とかですが、今回は「お約束事」と解釈してください。
「response(レスポンス)」の意味は「返答」とか「応答」とか「反応」とか「反響」とかです。
「header(ヘッダ)」はIT用語の「ヘッダ」です。
「頭」とかを意味する「head(ヘッド)」という単語に「~する人」とか「~するもの」的な意味になる接尾辞「er」を付けた単語です……多分。
何となく くっつけると

ホームページのファイルを運ぶお約束事の応答のヘッダ

となります。

訳01





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
インフルエンサー六法 活動開始から情報発信、収益化までに潜むトラブル対策50