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

HTTPリクエストライン

pointこの用語のポイント

pointHTTPリクエストを構成する部品だよ

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

point「何を、どうしたい」が、ざっくり書かれているよ

スポンサーリンク

簡単に書くよ

HTTPリクエストライン(読:エィチティーティーピーリクエストライン 英:HTTP request line)とは

HTTPリクエスト(ホームページの話で出てくる「このページをちょうだい」な、お願い)を構成する部品のひとつ
であり

「何を、どうしたい」が、ざっくり書かれている場所
です。


image piyo

詳しく書くよ

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

ホームページが表示される流れ
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リクエストは3つの部品から成り立っています。

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

1.HTTPリクエストライン(リクエストライン)
2.HTTPリクエストヘッダ(ヘッダ)
3.HTTPリクエストメッセージボディ(メッセージボディ)


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

「リクエストライン」
「ヘッダ」
空行CRLF】)
「メッセージボディ」


のようになっています。

HTTPリクエストライン7

「HTTPリクエストライン」とバッチリ書いてありましたね。

はい、そうです。

HTTPリクエストを構成する3つの部品のひとつ

が「HTTPリクエストライン」です。
長ったらしいので、単に「リクエストライン」と表現されることも あります。

HTTPリクエストライン8

実際のHTTPリクエストは、例えば以下のような内容になっています。

POST /search.html HTTP/1.1\r\n
Host: wa3.i-3-i.info\r\n
Connection: keep-alive\r\n
Content-Length: 38\r\n
Cache-Control: max-age=0\r\n
Origin: http://wa3.i-3-i.info\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: うんちゃら\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n
Referer: http://wa3.i-3-i.info/index.html\r\n
Accept-Encoding: gzip, deflate\r\n
Accept-Language: ja,en-US;q=0.8,en;q=0.6\r\n
\r\n
q=test&submitSearch=%E6%A4%9C%E7%B4%A2


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

POST /search.html HTTP/1.1\r\n

がHTTPリクエストラインです。
この例では

「/search.html」に「HTTP/1.1」で「POST」するぞ!

と書いてあります。

HTTPリクエストラインの書式は

メソッド】[空白]【URI】[空白]【HTTPのバージョン

です。

【メソッド】は「どうしたい」を指定する場所です。
GET」や「POST」などを指定します。

【URI】は「何を」を指定する場所です。
「このページをおくれ」の「このページ」を指定します。

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

つまり、HTTPリクエストラインには

【どうしたい】[空白]【何を】[空白]【どんなルールで】

が書いてあります。
HTTPリクエストラインの情報を見れば「何を、どうしたいの?」が、ざっくりと分かる理屈です。


image piyo2

一言でまとめるよ

まぁ「HTTPリクエストライン」って単語が出てきたら「HTTPリクエスト(ホームページの話で出てくる「このページをちょうだい」な、お願い)の部品で『何を、どうしたい』が書かれている場所なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「HTTP」は「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略です。
「HyperText(ハイパーテキスト)」はIT用語の「ハイパーテキスト」です。
ちょっと意訳ですが「ホームページのファイル」だと思ってください。
「transfer(トランスファー)」の意味は「移す」とか「動かす」とか「運ぶ」とかです。
「protocol(プロトコル)」の意味は「(外交上の)儀礼」とか「議定書」とかですが、今回は「お約束事」と解釈してください。
「request(リクエスト)」の意味は「要求」とか「要望」とか「依頼」とか「請求」とかです。
「line(ライン)」の意味は「線」とか「行」とかです。
何となく くっつけると

ホームページのファイルを運ぶお約束事の要求の行

となります。

訳01





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
ウォーターサーバーのキャッチコピーを100本考える方法
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践