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

HTTPメソッド

pointこの用語のポイント

pointお願いの種類だよ

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

point「GET」とか「POST」とかのことだよ

スポンサーリンク

簡単に書くよ

HTTPメソッド(読:エィチティーティーピーメソッド 英:HTTP method)とは

「GET(「このページをくれよ」な、お願い)」とか「POST(「このデータをやるから追加しとけ」な、お願い)」とかのこと。
もう少し、ちゃんと書くと

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


image piyo

詳しく書くよ

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

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

HTTPメソッド

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

HTTPメソッド2

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

HTTPメソッド3

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

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

HTTPメソッド4

話を単純化するために「このページをおくれ」な お願いとしましたが、実は お願いの種類は1つでは ありません。
いろいろ、あります。
「このページをおくれ」以外にも「このデータをくれてやるよ」や「このデータを消しちゃってよ」など、いろいろあるのです。

HTTPメソッド5

以上を踏まえて

WebブラウザさんからWebサーバさんに対する「お願いの種類」

をカッコ付けて専門用語っぽく言ったのが「HTTPメソッド」です。

HTTPメソッド6

HTTPメソッドには以下の種類があります。

メソッド名説明HTTP
1.01.1
GETページをくれよ
POSTこのデータをくれてやるよ
HEADヘッダ情報だけくれ
PUTこのデータ(ファイル)をくれてやるよ
DELETEこのデータを消しちゃって
CONNECTプロキシサーバさん、ちょっくら通しておくれ
OPTIONSサーバさん、どんなオプションを持ってるの?
TRACEどんな経路でそっちに届いたか、そのまま返してちょ
LINKちょっくらそのURLとこっちのリソースをくっつけさせてね
UNLINK:「LINK」を解除するよ~
PATCHちょっくら、データの一部を変えさせて


……など。

なんか、いっぱいありますね。

ですが心配は無用です。
GET」と「POST」以外は、めったに出てきません。
「GET」と「POST」さえ覚えておけば、困ることは少ないと思います。

以上でHTTPメソッドの大雑把な説明は終わりです。

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

ちょっと休憩3

あっ、読んでくださるのですね。
ありがとうございます。

それでは、いってみましょう。

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

HTTPメソッド7

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

HTTPメソッド8

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

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


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

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


のようになっています。

HTTPメソッド9

実際の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メソッド10

HTTPリクエストラインには「何を、どうしたい」が、ざっくりと書かれています。
この例では

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

と書いてあります。

おっと、HTTPリクエストラインの中に「POST」と書いてありますね。
この「POST」がHTTPメソッドです。

1.HTTPリクエストに含まれる
2.HTTPリクエストラインに書いてある
3.お願いの種類を表すもの


です。


image piyo2

一言でまとめるよ

まぁ「HTTPメソッド」って単語が出てきたら「Webブラウザ(ホームページを見るときに使うソフト)からWebサーバ(ホームページのファイルが置いてあるコンピュータ)に出されるお願いの種類なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「HTTP」は「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略です。
「HyperText(ハイパーテキスト)」はIT用語の「ハイパーテキスト」です。
ちょっと意訳ですが「ホームページのファイル」だと思ってください。
「transfer(トランスファー)」の意味は「移す」とか「動かす」とか「運ぶ」とかです。
「protocol(プロトコル)」の意味は「(外交上の)儀礼」とか「議定書」とかですが、今回は「お約束事」と解釈してください。
「method(メソッド)」の意味は「方法」とか「方式」とか「手法」とかです。
何となく くっつけると

ホームページのファイルを運ぶお約束事の方法

となります。

訳01





書籍画像
わわわ説明術コラム
宣伝だよ
優れたエンジニアがコミュニティの中でしていること
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本