[ホーム] > [間違えやすい類語 IT編一覧] > [GET、POST、PUT の違い | HTTP メソッド]
このページでは HTTP Method における「GET、POST、PUT」の違いに関して説明します。
Method によりクライアントはWebサーバに何を期待しているかの命令を伝えます。一般的にGETやPOSTがほとんどですが、PUTが使用されることもたまにあります。これらはProxyのログにも記載されるので、記憶しておくとよいでしょう。
(注意)これらの記載は"あるべき論"であり、実際にはWebサーバの実装に依存するのですべて当てはまるとは言えません。get なのにリソースを変更するなど誤った実装も見られます。
(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。
説明 | GET | POST | PUT |
概要 | ・データを取得したい場合に使用する。 ・URLの ? の後にパラメータを付けてデータを送信する。 | ・送信するデータはメッセージボディに入れる。 ・Webサーバ側のデータを更新したい、ログにデータを残したくない(GETだとURLにデータが入るため)、大量のデータを送信したい場合などに使用。 ・HTML の Formでよく使用される。 ・GETとほぼ同じ動き。 | ・送信するデータはメッセージボディに入れる。 ・POSTとほぼ同じ動き。URIを指定すること、「べき等」であるのが大きな違い。 |
Webサーバ側データの更新 | 更新処理を入れるべきではない | 有り。実行するたびに計算が実行される。 | 有り。ただし何度実行してもWebサーバ側の結果は同じとすべき。 |
べき等 (何度同じ処理を実行してもWebサーバ側のリソースの結果が同じ) | 「べき等」 | 「べき等」でない | 「べき等」 |
URIでのリソースの特定 | 必要。 | 不要。 Webサーバ側で決定することが可能。 | 必要。 |
例 | よくリソースの参照に使用される。 | よくリソースの新規作成に使用される。 | よくリソースの更新に使用される。 |
例 | xの値を参照 | x=x+1 | x=1 |
ブラウザでのブックマーク | 可能 | ブックマークを設定することはできない。(アクセスするたびにデータが更新されるため) | ブックマークを設定することはできない。(アクセスするたびにデータが更新されるため) |
検索エンジンのクローラー | クロール可能。 | クローラはクロールしない。(クロールするたびにデータが更新される可能性があるため) | クローラはクロールしない。(クロールするたびにデータが更新される可能性があるため) |
キャッシュ | 可能 | しないべき(サーバ側の処理をしたつもりでもキャッシュが戻されるだけで実際にはサーバ側での処理が実行されないため) | しないべき(サーバ側の処理をしたつもりでもキャッシュが戻されるだけで実際にはサーバ側での処理が実行されないため) |
Webサーバ、Proxyログの実データ記録 | URL にデータを入れるため残る。 | URLにデータを入れないため残らない。 | URLにデータを入れないため残らない。 |
ブラウザで前のページに戻る場合 | 警告が表示されない。 | 再度データが送信されるため警告が表示される。 | 再度データが送信されるため警告が表示される。 |
データ数制限 | 2048 | 原則なし | 原則なし |
関連リンク:
Web、インターネット、HTML、HTTPの違い
ftps と sftp と ftp over http の違い | フォルダのput、ポート、クライアント証明など
wget と curl の違い | HTTP のダウンロード
HTTP メソッドの違い(GET、POST、PUT、DELETE、HEAD、OPTION、TRACE、CONNECT)
[ホーム] > [間違えやすい類語 IT編一覧]
,