HTTPのメソッドには割といろいろな種類がある。
HTTP1.0, 1.1の双方で定義されているメソッド
GET : 指定されたURIのリソースを返す
HEAD : リソースの本文は返さず、ヘッダ情報だけ返す
POST : フォームなどでクライアントからサーバへ情報を送信する際に使用する
HTTP1.1で新規に追加されたメソッド
OPTIONS : 利用可能なメソッドを表示する
PUT : 新しくリソースを作成、もしくは更新する。
DELETE : リソースを削除する。
TRACE : クライアントが送信したメッセージをそのまま送り返す。
HTTP1.1でなくなったメソッド
PATCH : リソースを更新する
LINK : 他の文書と関連付ける
UNLINK : 他の文書との関連を解除する
予約されているメソッド
CONNECT : 動的にスイッチするプロキシのトンネル接続用
通常はGETとPOSTしか使わない。
Webアプリケーションとの連携を行う場合は、相手の更新頻度によっては毎回GETするのは無駄なので、HEADしてlast-modifiedが変わっていたらGETするような場合もある。
OPTIONSを使うケースはほとんど出くわさない。TELNETで手打ちで「このメソッド対応してるかなぁ」という確認をする場合もあるかもしれないけど、そもそも相手がOPTIONSにちゃんと応えてくれるかも怪しい。
PUTとDELETEはRESTで利用されるので、それなりに使う機会はあるかもしれない。但し、通常のサーバではたいていPUTとDELETEは封じられている。
TRACEによるリクエストは脆弱性に繋がるので、普通のサーバでは閉じられている。使う機会もほぼないと思われる。
その他のメソッドはこれまで出くわしたことがない。LINKとかUNLINKってどう使うんだろう。興味はあるけどきっと生涯関わることはないと思うのでスルー。