HTTPメソッドについて改めて細かく復習したので備忘録として書いていきます。
HTTPメソッドの種類
まずはHTTメソッドの種類と概要は以下の通りです。
メソッド名 | 説明 |
---|---|
GET | HTMLファイルや画像といったデータを取得する場合に利用するメソッド。 |
HEAD | HTTPヘッダーの情報のみを取得するメソッド。 |
POST | フォームに入力したデータを送信する場合に使用するメソッド。 |
PUT | データをアップロードする場合に使用するメソッド。 |
PATCH | リソースへの部分的な変更を行う場合に使用するメソッド。 |
DELETE | 指定したデータを削除する場合に利用するメソッド。 |
CONNECT | Webサーバーを接続するまでに別のサーバーを中継する場合に利用するメソッド。 |
OPTION | 利用できるHTTPメソッドを問い合わせる場合に利用するメソッド。 |
TRACE | WebブラウザとWebサーバーの途中経路をチェックするためのメソッド。 |
メソッド自体は9つありますが、HTMLフォームで使用できるのはGETとPOSTの2つのみです。
なのでHTMLのformタグのmethod属性にPUTを入れても動きません。(私は過去に一度これやってエラー出てびっくりしたことがありますw)
今回はHEAD,GET,POST,PUT,DELETEについて詳しく見ていきたいと思います。
GET
GETメソッドはWebサーバーに対してHTMLファイルやコンテンツを取得したい場合に利用します。
名前の通りデータを取得するために使いますが、一応Webサーバーに対してデータを送信することはできます。
ただGETメソッドでデータを送信する場合はURLの末尾にそのパラメータを付与して送信してしまいます。
なので絶対にGETメソッドでデータを送信するようなことがないようにしましょう。
HEAD
HEADメソッドはGETメソッドの仲間で、GETメソッドを送信した時に帰ってくるレスポンスのヘッダー部分だけを取得するメソッドです。
データのコンテンツ入らないけど更新日時やサイズのみを得たい場合などに使います。
POST
POSTメソッドはフォーム入力したデータを送信するメソッドです。
CRUDで言えば主にCREATE(作成)に用いられます。
POSTメソッドは冪等性がなく連続して同じものを実行すると、複数回渡してしまうなどの追加の影響が発生する可能性があります。
PUT
PUTメソッドもPOSTメソッドと同様フォームに入力したデータを送信するメソッドです。
PUTメソッドは冪等であり同じものを何度実行しても結果は変わりません。
CRUDで言えば主にUPDATE(更新)に用いられます。
DELETE
DELETEメソッドはその名の通り指定されたデータを削除するメソッドです。
もちろんCRUDのDELETE(削除)に用いられ冪等性のあるメソッドです。
最後に
今回はHTTPメソッドの基本的な部分について改めて復習した内容についてまとめてみました。
誰かのためになれば幸いです。