KONOTI

この世界で得た知識・情報まとめ

【HTML】HTTP通信におけるGETとPOSTの違い

HTMLファイルを読み込むときには、サーバとやり取りをするのですが、 そのやり取りの仕方には2つの方法があります。 それがGETとPOSTです。 これらの違いをわかりやすくご説明します。

JavaScriptとPHPの違い

HTMLファイルを読み込むときの仕組み

GETとPOSTを知るためには、Webページ(HTMLファイル)を読み込むときの仕組みを理解する必要があるので、 こちらからまず簡単に確認しておきます。

Webページを見たい時、私たちはURLを入力したり、リンクをクリックして目的のページを表示させます。 この時、裏では私たちのPCがサーバと呼ばれるものとやり取りをしています。 専門的な言い方でHTTP通信をしているといいます。

サーバにはHTMLファイルが格納されており、このサーバにあるHTMLファイルの情報を 取得することで、私たちは目的のWebページが見られます。

Webページの仕組み1

実際にはファイルのやり取りではなく、ファイルの中身をやり取りしています。

つまり、私たちのPC(以下ローカルPC)がサーバに対して「HTMLファイルの情報がほしい!」と リクエストをして、 それに対してサーバがレスポンスしていることになります。

そして、このローカルPCのリクエスト方法には2種類のリクエスト方法があります。それがGETとPOSTです。

GETとは

GETもPOSTも、サーバとHTTP通信をしてWebページの情報を取得するのに使われますが、 両社はリクエストの仕方で差があります。

GETによるリクエストは、URLの末尾に情報を付加してリクエストをします。 付加する情報はクエリストリングと呼ばれ、URLの?以降に付加します。


https://www.google.co.jp/search?q=test
                        

この例はGoogleの検索画面(https://www.google.co.jp/search)に、 「test」という検索キーワードを付加してリクエストしています。

このように、GETによるリクエストとは、URLに情報をくっくけて サーバとHTTP通信をします。 私たちが普段何気なく行っているネットサーフィンや調べものの多くが、 GETによるリクエストです。

POSTとは

POSTによるリクエストもGET同様に、情報を付加してサーバとHTTP通信をするのですが、 URL末尾に情報を付加したGETとは違い、POSTはメッセージボディと呼ばれるところに 情報を付加します。

getとpost

GETもPOSTも情報を付加できますが、付加する場所が違うのですね。

GETとPOSTの違い

GETとPOSTは情報を付加する場所が違うのですが、付加する場所が違うとどうなるのでしょうか。 結論からいうと、情報を付加する場所は安全性(セキュリティ)に関係します。

GETのようにURL末尾に情報をつけてしまうと、ログとして様々な所に情報が残ってしまいます。 例えば、Webサーバやファイアウォールのアクセスログなどでしょうか。 ブラウザのキャッシュなどもそうですね。

悪意のある者がこれらのログを取得して、悪用してしまう危険があるので、 パスワードなどの重要な情報は、通常GETによるリクエストはしません。

一方で、POSTのリクエストのようにメッセージボディに情報を付加すれば、 ログは残らないので、悪用される危険は下がります。

ログイン情報やお問い合わせフォームなど、ログを残したくない情報をサーバにリクエストする場合は、 このPOSTによるリクエストが一般的です。

よって、GETとPOSTのどちらを使うのかは、どのような情報を扱うかによって異なってきます。

この記事のシェアはこちらから

当サイトについて

当サイト(KONOTI)は、日常生活において運営者が得た情報をご紹介するサイトです。 ジャンルに多少の偏りはありますが、基本的には様々な情報を取り扱っていく予定です。

Contact

当サイトへのご連絡は以下よりお願いします。

PAGE TOP ▲

© Copyright 2019 KONOTI