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

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

HTTPリクエスト

pointこの用語のポイント

point「このページをちょうだい」なお願いだよ

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

スポンサーリンク

簡単に書くよ

HTTPリクエストとは

ホームページの話で出てくるリクエスト(要求)。
もう少し噛み砕いて書くと

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

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として、ホームページが表示される流れと「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リクエスト」としてあげた方が親切だと思います。

HTTPリクエストは3つの部品から成り立っています。

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


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

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


のようになっています。

HTTPリクエスト6

実際の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リクエストラインです。
HTTPリクエストラインには「何を、どうしたい」が、ざっくりと書かれています。
この例では

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

と書いてあります。

2行目以降の

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


がHTTPリクエストヘッダです。
HTTPリクエストヘッダには「お願いごとやお願い元に関するあれこれ」が、ごちゃごちゃと書かれています。

空行を意味する

\r\n

を挟んで、最後の

q=test&submitSearch=%E6%A4%9C%E7%B4%A2

がHTTPリクエストメッセージボディです。
HTTPリクエストメッセージボディは補足のメモ書きスペースです。
必要な情報が必要に応じて書いてあります。
例えばPOST通信であれば、受け渡されるパラメータの内容が記述されます。

これがHTTPリクエストの構造です。
繰り返しになりますが

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


のようになっています。

HTTPリクエスト7

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

HTTPリクエスト8

せっかくなので併せて覚えてあげてください。

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


です。

image piyo2

一言でまとめるよ

まぁ「HTTPリクエスト」って単語が出てきたら「ホームページの話で出てくる『このページをちょうだい』なお願いなんだな~」と、お考えください。

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