Help us understand the problem. What is going on with this article?

getとpostについて調べてみた

More than 1 year has passed since last update.

いまいち理解出来ていないので、調べてみました。

概要

・getとpostはhttp通信するときの方法(メソッド)の一つ。(他にはput、patch、head、deleteなど)
・どっちもwebサーバーに情報を渡すもの。
・手紙に置き換えると、封筒の表面に全ての情報が書いてあるのがget、封筒の中の手紙にきちんと情報が書いてあるのがpost。

get

・リクエスト時にサーバへ送信するデータはリクエストURLの後に付け加えられる
形式→「URL?パラメータ名=値」、?がパラメータのはじまり、&でパラメータの切れ目、=は挟んだ左側がGETの変数名、右側が渡される値
・他人にみられたくないデータは送らない。URLで見えてしまうため
・送信できるデータ量に制限がある。(URLの長さ2048文字が送れるデータ量の限界)
・検索結果の一覧などをブックマークで保存できる
・URLなどを送信したい場合はGETを使う
・渡した値が履歴(キャッシュ)として残る
・パスワードや個人情報を渡す場合は、必ずpost。
・データーベースにアクセスするような内容は書かない(検索エンジンのクローラーがページをみにきたときにデータの追記・変更などをされないように)

post

・bodyに含めてリクエストする。そのため目で見ることが出来ない。(目に見えないだけで通信を盗聴されてしまうと見えてしまう。決して安全という訳ではない)
・履歴が残らない。
・登録するときに使う(DBに格納する時など)
・他人にみられたくないデータ(パスワードなど)を送る場合
・twitterや掲示板の投稿などで使われる

参考

「GETメソッド」と「POSTメソッド」の違い - 「分かりそう」で「分からない」
GETとPOSTの違いについて - Qiita
GETとPOSTの使い分け ついでにPUTとDELETE - Qiita
HTTPとPOSTとGET - Qiita
・書籍-「プロになるためのWeb技術入門」

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした