HTTPメソッド
お願いの種類だよ
ホームページの話で出てくるよ
「GET」とか「POST」とかのことだよ
簡単に書くよ
HTTPメソッド(読:エィチティーティーピーメソッド 英:HTTP method)とは
「GET
(「このページをくれよ」な、お願い)」とか「POST
(「このデータをやるから追加しとけ」な、お願い)」とかのこと。
もう少し、ちゃんと書くと
ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して出されるお願いの種類
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として、ホームページが表示される流れについて簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して「このページをおくれ」と お願いが出されます。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。
これが、ホームページが表示されるときの流れです。
さて、この流れにおいて、WebブラウザさんからWebサーバさんに対して「このページをおくれ」な お願いが出されました。
話を単純化するために「このページをおくれ」な お願いとしましたが、実は お願いの種類は1つでは ありません。
いろいろ、あります。
「このページをおくれ」以外にも「このデータをくれてやるよ」や「このデータを消しちゃってよ」など、いろいろあるのです。
以上を踏まえて
WebブラウザさんからWebサーバさんに対する「お願いの種類」
をカッコ付けて専門用語っぽく言ったのが「HTTPメソッド」です。
HTTPメソッドには以下の種類があります。
| メソッド名 | 説明 | HTTP | |
|---|---|---|---|
| 1.0 | 1.1 | ||
| GET | ページをくれよ | 〇 | 〇 |
| POST | このデータをくれてやるよ | 〇 | 〇 |
| HEAD | ヘッダ情報だけくれ | 〇 | 〇 |
| PUT | このデータ(ファイル)をくれてやるよ | 〇 | 〇 |
| DELETE | このデータを消しちゃって | 〇 | 〇 |
| CONNECT | プロキシサーバさん、ちょっくら通しておくれ | 〇 | |
| OPTIONS | サーバさん、どんなオプションを持ってるの? | 〇 | |
| TRACE | どんな経路でそっちに届いたか、そのまま返してちょ | 〇 | |
| LINK | ちょっくらそのURLとこっちのリソースをくっつけさせてね | 〇 | |
| UNLINK | :「LINK」を解除するよ~ | 〇 | |
| PATCH | ちょっくら、データの一部を変えさせて | 〇 | |
……など。
なんか、いっぱいありますね。
ですが心配は無用です。
「GET」と「POST」以外は、めったに出てきません。
「GET」と「POST」さえ覚えておけば、困ることは少ないと思います。
以上でHTTPメソッドの大雑把な説明は終わりです。
ここから先は、もう少しだけ専門的な説明です。
なんとなく分かれば満足な人は読む必要ありません。
興味がある人は、このまま読み進めてください。

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

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

HTTPリクエストは3つの部品から成り立っています。
1.HTTPリクエストライン(リクエストライン)
2.HTTPリクエストヘッダ(ヘッダ)
3.HTTPリクエストメッセージボディ(メッセージボディ)
の3つです。
構造としては
「リクエストライン」
「ヘッダ」
(空行【CR+LF】)
「メッセージボディ」
のようになっています。

実際の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」するぞ!
と書いてあります。
おっと、HTTPリクエストラインの中に「POST」と書いてありますね。
この「POST」がHTTPメソッドです。
1.HTTPリクエストに含まれる
2.HTTPリクエストラインに書いてある
3.お願いの種類を表すもの
です。
一言でまとめるよ
まぁ「HTTPメソッド」って単語が出てきたら「Webブラウザ
(ホームページを見るときに使うソフト)からWebサーバ
(ホームページのファイルが置いてあるコンピュータ)に出されるお願いの種類なんだな~」と お考えください。
おまけ
■訳してみるよ
「HTTP」は「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略です。
「HyperText(ハイパーテキスト)」はIT用語の「ハイパーテキスト」です。
ちょっと意訳ですが「ホームページのファイル」だと思ってください。
「transfer(トランスファー)」の意味は「移す」とか「動かす」とか「運ぶ」とかです。
「protocol(プロトコル)」の意味は「(外交上の)儀礼」とか「議定書」とかですが、今回は「お約束事」と解釈してください。
「method(メソッド)」の意味は「方法」とか「方式」とか「手法」とかです。
何となく くっつけると
ホームページのファイルを運ぶお約束事の方法
となります。
■検索してみる?






