0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【HTTPメソッド】データ送信における「GET」と「POST」の違い

Posted at

そもそもHTTPメソッドってなに?

この内容については、Web開発でよく使う4つのHTTPメソッド【REST API】で以下のように説明されています。

HTTPメソッドとは、「クライアントがサーバーにしてほしいことを依頼するための手段」となります。
例えば、「Webブラウザ」で「今見ているこのサイト」を表示する際は、次のような処理がクライアントとサーバーの間で行われています。
①Webブラウザ(クライアント)が、
②このサイトのサーバーに対して、
③「ページ情報(=HTML形式のデータ)をください」と依頼して、データを受け取りページを表示する
このとき、クライアントがサーバーに依頼(=リクエスト)を投げる際に、リクエストの種類に応じてHTTPメソッドの種類を切り換えることができます。

つまりHTTPリクエストを用いてWebサーバーに「具体的な要求内容」を伝えているものです。
なのでクライアント側の要求によってHTTPメソッドはそれぞれ変わってきます。

HTTPメソッドにはどんな種類があるのか?

ここではWEB開発でよく使用される4つのHTTPメソッドを紹介します。

HTTPメソッド名 説明
GET HTMLファイルや画像といったデータを取得する場合に利用する。Webサイト閲覧時において使用頻度が高い
POST フォームに入力したパスワードといったデータを転送する場合に利用する
PUT データ(ファイル)をアップロードする場合に利用する。Webサーバー上のファイルを置き換えることができるため、利用できないように制限されている場合が多い
DELETE 指定したデータ(ファイル)を削除する場合に利用する。PUTメソッド同様に利用できないように制限されている場合が多い

この表を見た通り、クライアント側でWebサイトを閲覧する際に主に利用されるHTTPメソッドは、「GET」メソッドと「POST」メソッドになります。
Webサーバーが保管されているコンテンツを書き換えたり削除できたりする「PUT」メソッドや「DELETE」メソッドは、Webサイトの改ざんができてしまうため、Webサーバー側で使用できなくしている場合が多いです。

「GET」と「POST」の違いを詳しく

ここでは本題のGETメソッドとPOSTメソッドの違いを詳しく説明していきます。

コンテンツを取得する際に利用するGETメソッドは、POSTメソッドと同じようにデータを送信する際にも利用できますが、GETメソッドとPOSTメソッドでデータの送信方法が異なります。

GETメソッドを利用してデータを送信する場合は、URLの後ろに送りたいデータを付与して送ります。
URLの末尾に「?」を付けて、「パラメーター名=値」の形式で送信します。

GETの場合   /sample.com?name=sample&password=1234

一方、POSTメソッドを利用してデータを送信する場合は、HTTPリクエスト内のメッセージボディ内にデータを含めて送ります。

GETメソッドを利用しデータを送る場合は、上記のようにURLにデータが組み込まれるため、送ったデータがWebブラウザの閲覧履歴に残ってしまい、漏洩の可能性があります。
一方、POSTメソッドを利用した場合はメッセージボディ内にデータが組み込まれるため、閲覧履歴には残りません。
そのため、ショッピングサイトや会員制のWebサイトにおいてログインする際に、ユーザーIDやパスワードといったデータをWebサーバーに対して送る場合は、機密性を考慮してPOSTメソッドが利用されます。

参考文献

イラスト図解式 この一冊で全部わかるWeb技術の基本

最後に

記事の感想や意見、ご指摘等いただけると助かります。
最後までご覧いただき、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?