GET、POST、PUT の違い | HTTP メソッド

スポンサード リンク

このページでは HTTP Method における「GET、POST、PUT」の違いに関して説明します。
Method によりクライアントはWebサーバに何を期待しているかの命令を伝えます。一般的にGETやPOSTがほとんどですが、PUTが使用されることもたまにあります。これらはProxyのログにも記載されるので、記憶しておくとよいでしょう。

(注意)これらの記載は"あるべき論"であり、実際にはWebサーバの実装に依存するのですべて当てはまるとは言えません。get なのにリソースを変更するなど誤った実装も見られます。

スポンサード リンク

(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。

比較表

比較は以下の表の通りとなります。

説明GETPOSTPUT
概要・データを取得したい場合に使用する。
・URLの ? の後にパラメータを付けてデータを送信する。
・送信するデータはメッセージボディに入れる。
・Webサーバ側のデータを更新したい、ログにデータを残したくない(GETだとURLにデータが入るため)、大量のデータを送信したい場合などに使用。
・HTML の Formでよく使用される。
・GETとほぼ同じ動き。
・送信するデータはメッセージボディに入れる。
・POSTとほぼ同じ動き。URIを指定すること、「べき等」であるのが大きな違い。

Webサーバ側データの更新更新処理を入れるべきではない有り。実行するたびに計算が実行される。有り。ただし何度実行してもWebサーバ側の結果は同じとすべき。
べき等
(何度同じ処理を実行してもWebサーバ側のリソースの結果が同じ)
「べき等」「べき等」でない「べき等」
URIでのリソースの特定必要。不要。
Webサーバ側で決定することが可能。
必要。
よくリソースの参照に使用される。
よくリソースの新規作成に使用される。
よくリソースの更新に使用される。
xの値を参照x=x+1x=1
ブラウザでのブックマーク可能ブックマークを設定することはできない。(アクセスするたびにデータが更新されるため)
ブックマークを設定することはできない。(アクセスするたびにデータが更新されるため)
検索エンジンのクローラークロール可能。クローラはクロールしない。(クロールするたびにデータが更新される可能性があるため)
クローラはクロールしない。(クロールするたびにデータが更新される可能性があるため)
キャッシュ可能しないべき(サーバ側の処理をしたつもりでもキャッシュが戻されるだけで実際にはサーバ側での処理が実行されないため)

しないべき(サーバ側の処理をしたつもりでもキャッシュが戻されるだけで実際にはサーバ側での処理が実行されないため)

Webサーバ、Proxyログの実データ記録URL にデータを入れるため残る。
URLにデータを入れないため残らない。
URLにデータを入れないため残らない。
ブラウザで前のページに戻る場合警告が表示されない。
再度データが送信されるため警告が表示される。
再度データが送信されるため警告が表示される。
データ数制限2048
原則なし
原則なし

関連リンク:
Web、インターネット、HTML、HTTPの違い
wget と curl の違い | HTTP のダウンロード
HTTP メソッドの違い(GET、POST、PUT、DELETE、HEAD、OPTION、TRACE、CONNECT)







【注意】本ページは著作権で保護されています。内容は何人も補償しません。時間的あるいは金銭的損失等、一切保証しません。

理解しやすく記載されており、一部不正確な記載がある可能性があります。ご自身の責任で参考にしてください。