[ホーム] > [間違えやすい類語 IT編一覧] > [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で廃止されているため省略します。
(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。
説明 | GET | POST | PUT | DELETE | HEAD | OPTIONS | TRACE | CONNECT |
概要 | リソース取得 | リソースの更新。主に新規作成など。 | リソースの更新。主に更新など。 URIを指定。 | リソースの削除 | GETと似ているが、リソースのヘッダ情報のみ取得(ボディ部分はなし) | リソースがサポートするメソッドを取得。リソースが8種類すべてサポートしている訳ではないため、これで確認する。 | 動作の確認。リクエストのループバックを要求。サーバが受け取った内容をそのまま返す。(主にテスト目的) | プロキシへの多段接続など、指定したサーバへの接続を要求。 |
参考 | ・ページや画像のダウンロードなど。もっとも一番使われる。文字数に制限があったり、データがログに残ってしまうなど欠点もあり、データ送信には使用しにくい。 ・GETでリソースを変更する実装をたまに見るが、原則誤った実装である。 | ・長いデータを送信したい場合やデータをログに残したくない場合など。よく使われる。 ・HTMLのフォームデータを送信する場合によく使用される。 | あまり使われない。 | - | 全ての情報を知りたい訳ではない場合に使用する。ネットワーク帯域の節約になる。 | - | - | Proxyへの命令が多い。 |
安全 | 〇 | ×(リソースの変更あり) | ×(リソースの変更あり) | ×(リソースの変更あり) | 〇 | 〇 | 〇 | 〇 |
べき等であるべき | 〇 | × | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
関連リンク:
rm コマンド と del コマンドの違い
ftps と sftp と ftp over http の違い | フォルダのput、ポート、クライアント証明など
wget と curl の違い | HTTP のダウンロード
[ホーム] > [間違えやすい類語 IT編一覧]
,