IT web開発

HTTPのGET通信とPOST通信について

2021年9月1日

世の中は様々な情報が飛び交ってますが、これらの情報はほとんどがクライアント(PCやスマホ)とサーバとの通信で成り立っています。
ゲームやチャットなどではリアルタイムに通信をするために、P2P(Peer to Peer)という通信規約で、サーバを返さず通信を行うような仕組みもあったりしますが、
基本的にはサーバと通信で成り立ってます。

サーバと通信するにあたって、世界で決められた約束事があります。
サーバと通信する場合はこういう約束(プロトコル)に則って通信してねという決まり事があり、HTTPプロトコルと言います。

よくサイトにアクセスするとき、http://から始まるURLにアクセスすることでサイトが表示されるわけだが、
これはWebサーバと通信していることを意味していて、

HTTPメソッドであるGET通信とPOST通信の違い

HTTPメソッド 特徴
GET
  • データをサーバに送る場合は、URLにクエリパラメータを付与してリクエストする。
  • そのためデータ量は軽量(少ない)時に使う。
  • クエリパラメータに付与するのでパスワードなどログイン情報はGET通信するのはよくない
POST
  • データをサーバに送る場合は、HTTPリクエストヘッダのbodyのdataパラメータ(ペイロード)に入れて送信する。
  • GETと違いヘッダ内に入れるのでURLに表示されないので漏洩が少ない。
  • base64でエンコードすることでデータの中身を見ることができる。

どのようにしてGETとPOST通信の仕方を設定する?

実は結構簡単で、
HTMLファイル内の

で設定します。methodを設定していない場合はデフォルトでGET通信になり、
method="POST"と指定した場合はPOST通信でWebサーバと通信するという形になります。

ならPOSTメソッドでリクエストを投げます。

APIなどであれば、pythonとかだと
http.requestメソッドなどでarguementで指定するなどして通信する。

-IT, web開発
-

© 2022 Yosshi Blog Powered by AFFINGER5