D030 HTTPリクエストメソッド(get/postメソッド)

HTTPにはいくつかの種類があり、パラメーターの渡し方によって2つのメソッドを使い分けて使用します。今回は2つのメソッドであるgetメソッドとpostメソッドについて紹介します。

メソッドの種類

getメソッド

HTTP通信において、WebブラウザからのリクエストをURLパラメータに付与してWebサーバから情報を取得する際に使用するメソッドです。送信データ量に制限があり、リクエスト内容がURLに表示されるという特徴があります。

例えば、Google Chromeにて「プログラミング」と検索を行うと、下記のようにURLにパラメータを付与し、「プログラミング」という用語で検索をしていることを明示し、HTTPリクエストを行います。

https://www.google.com/search?q=プログラミング

HTML上では、下記のようにmethod属性を”get”と指定することでgetメソッドを用いてHTTPリクエスト行います。

HTML
<form action="URL" method="get">
</form>

postメソッド

HTTP通信において、WebブラウザからのリクエストをHTTPボディへリクエストパラメータを付与し、HTTPリクエストを行います。getメソッドに比べて多くの送信データを扱うことができ、ブラウザの履歴やキャッシュとして残さずにHTTPリクエストを行うことが可能です。

HTML上では、下記のようにmethod属性を”get”と指定することでgetメソッドを用いてHTTPリクエスト行います。

HTML
<form action="URL" method="post">
</form>

例題

下記のうちpostメソッドの説明として正しいものはどれか

  1. ブラウザの履歴に残る
  2. 通信を暗号化することができる
  3. URLにパラメータを付与しリクエストを行う
  4. HTTPボディへパラメータを付与する
回答

4. HTTPボディへパラメータを付与する

1.3.はgetメソッドの説明。
2. はHTTPS化についての説明。

エンジニアからのアドバイス

URLとして保存をしておきたい際を除く、何かパラメーターを送る際はpostメソッドを使うことが多いです。しかし、postメソッドを用いても通信が暗号化される訳ではないので、機密性を求める際は暗号化の仕組みを取り入れましょう。

---