【HTTPリクエストメソッドとは?】8つ覚えよう。GET、POST、PUT、DELETE、HEAD、OPTIONS、CONNECT、TRACについて。

サトリク

HTTPリクエストメソッドについての問題です。

対象のリソースの置き換えを要求するリクエストメソッドとして、正しいものを選びなさい。

 A.GET

 B.PUT

 C.POST

 D.DELETE

 E.HEAD

引用元:HTML5プロフェッショナル認定試験レベル1

なんとなくだけど、C?

オコジョ

サトリク

違います。答えはBの「PUT」です。

上記の問題に即答できなかった方は、この記事でリクエストメソッドについてマスターしましょう。

(この記事は、勉強のアウトプットとして執筆しています。筆者がプログラミング初心者ゆえ、致命的な誤りなどありましたらご指摘いただければ幸いです。)

HTTPリクエストメソッドとは?

HTTPリクエストメソッドとは、簡単に言うと、WebブラウザからWebサーバに対しての命令(リクエスト)です。

Webブラウザは、Webサーバから情報をもらって画面に出力しています。

HTTPリクエストメソッドのGETの画像

図解するとこんな感じです。

これはGETの例です。

①ユーザーがWebブラウザで検索

②ブラウザがWebサーバに命令(リクエスト)

③WebサーバがWebブラウザにアクション

④ユーザの元に画面が表示される

主なリクエストメソッド

サトリク

主なHTTPリクエストメソッドを表にまとめてみました。

リクエストメソッド 説明 お願い 重要度
GET リソースの要求 ページの情報ちょうだい
POST リソースの送信 このデータどうぞ
PUT リソースの更新(置き換え) 新しいファイルどうぞ
DELETE リソースの削除 このページ削除してちょうだい
HEAD リソース(ヘッダだけ)の要求 ヘッダ情報だけちょうだい
OPTIONS サーバの調査 オプションの情報見して
CONNECT トンネルを開く プロキシ通してちょうだい
TRACE ネットワーク経路の調査 どういう経路で届いたか教えて

他にも、PATCH、LINK、UNLINKがありますが、ここでは割愛

このように、HTTPリクエストメソッドはたくさんありますが、GET、POST、PUT、DELETEを覚えるだけでもいいかもしれません。他はそれほど使用頻度が多くないので。

リクエストメソッド:GET

HTTPリクエストメソッド:GET

初めて見るWebサイトを表示するときにGETが行われています。

しかし、GETが行われないことがあります。それが、キャッシュです。

キャッシュとは?

キャッシュとは、Webブラウザが毎回サーバから取ってくるのが面倒なので、キャッシュという箱に入れておいて、そこから持ってくるというイメージです。

Webサイト上で、Ctrl+rをすると、キャッシュにある情報から取ってきますが、Ctrl+Shift+Rを行うと、Webサーバから情報を取ってくることができます。

リクエストメソッド:POST

HTTPリクエストメソッド:POST

POSTは、データをWebサーバに提供します。

例えば、何かのサイトの会員情報を登録するとき、POSTが行われます。

会員情報を入力して、会員情報を確定するを押した瞬間にPOSTが行われ、Webサーバに会員情報が渡されます。

サトリク

実際のリクエストは、このような形で届いています。

POSTのリクエスト
POST /hoge/ HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 22
Cache-Control: max-age=0
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://localhost:8080/hoge/
Accept-Encoding: gzip, deflate, br
Accept-Language: ja,en-US;q=0.8,en;q=0.6

name=hoge&comment=hoge

HTTPリクエストメソッド:PUT

HTTPリクエストメソッド:PUT

PUTは、リソースの更新をします。

例えば、記事を投稿したり、編集して更新したりすると、PUTが行われます。

HTTPリクエストメソッド:DELETE

HTTPリクエストメソッド:DELETE

これは単純で、データを削除するときにDELETEをします。

再問題

では、もう一度先ほどの問題を答えてみましょう。

対象のリソースの置き換えを要求するリクエストメソッドとして、正しいものを選びなさい。

 A.GET

 B.PUT

 C.POST

 D.DELETE

 E.HEAD

引用元:HTML5プロフェッショナル認定試験レベル1

対象のリソースの置き換えを要求ってことは、つまり、リソースの更新!更新ってことは、PUTのことだね。

だから答えは、B

オコジョ

サトリク

正解!

まとめ

サトリク

HTTPリクエストメソッドとはどういうことですか?

WebブラウザがWebサーバGETとかPOSTのこと!

オコジョ

サトリク

GETとPOSTって何ですか?

GETはページの情報をサーバから取得することで、POSTは、サーバにデータを提供すること。

オコジョ

他の問題を解いてみる

まだ、記事はありません。

オススメの参考書

HTTPリクエストメソッドがわからない人に
URLを送りつけてあげよう

この記事のURLをコピーする