0
1

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 5 years have passed since last update.

HTTP通信におけるGETメソッドとPOSTメソッドの違いについて

Posted at

HTTPとは

HyperText Transfer Protocolの略。
HTMLなどのテキストファイルや、画像、コンテンツ等をやりとりする時のプロトコル(規約。分かりやすく言うと「決まりごと」)のことを意味します。

HTTPの基本動作

「クライアントからの要求(HTTPリクエスト)」と「サーバーからの応答(HTTPレスポンス)」が基本的な流れになります。
言葉よりも図を見てイメージして頂いた方が分かりやすいと思います。

スクリーンショット 2019-06-12 20.09.47.png

GETメソッドとPOSTメソッドの違い

GETメソッド

  • サーバーからデータを取得する。

  • データベースに処理を加えない。
    イメージとしてはSQLのSELECTに近いです。

ex. 検索するとき
(ググる時はデータの書き換えではなくデータの取得をしている)

  • 閲覧履歴が残る
    GETメソッドを使ってデータを送信する場合は「URL?パラメーター名=値」の形で送信されます。

試しにGETメソッドでフォームを送信してみます。

<h1>New User</h1>

<%= form_for @user ,method: :get do |f| %>
  <%= f.label :name %>
  <%= f.text_field :name %>
  
  <%= f.label :email %>
  <%= f.email_field :email %>
  
  <%= f.submit '送信' %>
<% end %>

nameフォームにtest1
emailフォームにtest1@test.comと入力してみます。

https://xxx.com/users?utf8=%E2%9C%93&user%5Bname%5D=test1&user%5Bemail%5D=test1%40test.com&commit=%E9%80%81%E4%BF%A1

URLにtest1とtest1@test.com(@は%で表記)が表示されていることが確認できます。

  • ブックマーク(URLを登録すること)できる
    「URL?パラメーター名=値」の形でURLをブックマークすることができるので、そのURLで検索した時の結果を表示させることができます。

POSTメソッド

  • サーバーにデータを登録する

  • データベースに処理を加える。
    イメージとしてはSQLのINSERTやUPDATEに近いです。

  • 閲覧履歴が残らない
    POSTメソッドで送る場合はメッセージボディに情報が含まれていてURLには情報が表示されない。

POSTメソッドで先ほどGETメソッドで送ったのと同じデータを送信してみます。

https://xxx.com/users/5

URLに入力したデータではなくパスが表示されていることが確認できます。

  • ブックマークできない
    パラメーターがbodyに含まれており、URLに明記されていないためブックマークに登録することができない。

最後に

誤っている箇所や追記した方が良い点等ございましたら
編集リクエストやコメントの方でご指摘していただけると幸いです。

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

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?