GETとPOSTの違いを検証


GETの場合

URLの末尾にパラメータを追加し送信される

http://localhost:3000/contacts?utf8=%E2%9C%93&authenticity_token=Wc7TNQl6%2FHJiXO5ztGQi0xL5Tu8rv89LHRF6cTjqZpT3NTu0P74bpu6ZI4jlGDZZRxkCBmBT8%2FIUxDJShYzO5Q%3D%3D&contact%5Bname%5D=get&commit=%E9%80%81%E4%BF%A1

URLにユーザ名やパスワードが含まれるため、それらの情報がブラウザの履歴に残ってしまう。

POSTの場合

URLの末尾に追加されず、テキスト形式でbody部分にパラメータを追加し送信される。

サイトへのログイン時など、ユーザIDやパスワードなど人に見られては困る情報を送信するにはPOST送信が適している。

bodyにデータを含めて送信するためブラウザの履歴に残らない。パスワードやログイン情報をサーバに送る場合は機密性を考慮してPOSTが使用されます。GETの場合ブラウザによってURLに含められる文字数が制限されるため、大量のデータが送信されることも考慮して、formの送信ではPOSTが使用される。