HTTP メソッドの違い(GET、POST、PUT、DELETE、HEAD、OPTION、TRACE、CONNECT)

スポンサード リンク

このページではWebサーバとクライアント間の通信に使用するmethod の違いに関して説明します。
クライアント(主にWebブラウザですがそれに限りません)がWebサーバに処理を依頼する場合に「何がしたいのか」を伝えるものです。
一般的に使用されるのは、GET、POST がほとんどです。それ以外のメソッドはセキュリティ上拒否する設定ケースも多いです。(たたし connect はProxy環境では使用されます。)

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

(注意2) PATCH,LINK,ULINKは1.1で廃止されているため省略します。

スポンサード リンク

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

比較表

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

説明GETPOSTPUTDELETEHEADOPTIONSTRACECONNECT
概要リソース取得リソースの更新。主に新規作成など。
リソースの更新。主に更新など。
URIを指定。
リソースの削除GETと似ているが、リソースのヘッダ情報のみ取得(ボディ部分はなし)リソースがサポートするメソッドを取得。リソースが8種類すべてサポートしている訳ではないため、これで確認する。
動作の確認。リクエストのループバックを要求。サーバが受け取った内容をそのまま返す。(主にテスト目的)
プロキシへの多段接続など、指定したサーバへの接続を要求。
参考・ページや画像のダウンロードなど。もっとも一番使われる。文字数に制限があったり、データがログに残ってしまうなど欠点もあり、データ送信には使用しにくい。
・GETでリソースを変更する実装をたまに見るが、原則誤った実装である。

・長いデータを送信したい場合やデータをログに残したくない場合など。よく使われる。
・HTMLのフォームデータを送信する場合によく使用される。
あまり使われない。-全ての情報を知りたい訳ではない場合に使用する。ネットワーク帯域の節約になる。--Proxyへの命令が多い。
安全×(リソースの変更あり)×(リソースの変更あり)×(リソースの変更あり)
べき等であるべき×

関連リンク:
rm コマンド と del コマンドの違い
del /s /q コマンドとエクスプローラの削除の違い
Web、インターネット、HTML、HTTPの違い
wget と curl の違い | HTTP のダウンロード







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

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