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リクエスト行います。
<form action="URL" method="get">
</form>postメソッド
HTTP通信において、WebブラウザからのリクエストをHTTPボディへリクエストパラメータを付与し、HTTPリクエストを行います。getメソッドに比べて多くの送信データを扱うことができ、ブラウザの履歴やキャッシュとして残さずにHTTPリクエストを行うことが可能です。
HTML上では、下記のようにmethod属性を”get”と指定することでgetメソッドを用いてHTTPリクエスト行います。
<form action="URL" method="post">
</form>例題
下記のうちpostメソッドの説明として正しいものはどれか
- ブラウザの履歴に残る
- 通信を暗号化することができる
- URLにパラメータを付与しリクエストを行う
- HTTPボディへパラメータを付与する
回答
4. HTTPボディへパラメータを付与する
1.3.はgetメソッドの説明。
2. はHTTPS化についての説明。
エンジニアからのアドバイス
URLとして保存をしておきたい際を除く、何かパラメーターを送る際はpostメソッドを使うことが多いです。しかし、postメソッドを用いても通信が暗号化される訳ではないので、機密性を求める際は暗号化の仕組みを取り入れましょう。
