HTTPメソッド
HTTPの基本的なメソッド
以下の6つが主なメソッドだが、現実的にはGETとPOSTをよく使う
- GET
- POST
- PUT
- DELETE
- HEAD
- OPTION
CRUDとは
Create(作成)、Read(読み込み)、UPDATE(更新)、Delete(削除)を表し、
データ操作の基本処理のことをCRUD(クラッド)という。
CRUDとHTTPメソッドの対応関係
- Create(作成) → POST/PUT
- Read(読み込み) → GET
- Uapdate(更新) → PUT
- Delete(削除) → DELETE
1.GET
リソースの取得
指定したURIの情報を取得する。
webページ、画像とかも取得可能。
2.POST
リソースの作成、リソースの追加
3つの役割を担う。
-
子リソースの作成
あるリソースに対する子リソースの作成。
レスポンスは、「 201 Created 」
-
リソースへのデータの追加
既にあるリソースへデータを追加する。
レスポンスは 「 200 OK 」
(新規リソースの作成ではなく、追加なので201ではない)
-
他のメソッドでは対応できない処理
通常、リソースの取得はGETでクエリパラメータをつけてGETするが…
実装上URIは2000文字とか上限がある。
そこで長すぎるクエリパラメータをリクエストボディにいれてPOSTする等。
3.PUT
リソースの更新、リソースの作成
POSTとPUTの使い分け〜リソース作成時の使い分けについて〜
POSTで作成する場合、作成するリソースのURIはサーバが決定する。
PUTで作成する場合、作成するリソースのURIはクライアントが決定する。
上記を考えて決定すればオッケー。
しかしPUTで上書き注意すること。
特別理由なければ、リソースの作成はPOSTで行い
URIもサーバで決定してもらうほうがのぞましかったり。
4.DELETE
リソースの削除
5.HEAD
リソースのヘッダの取得
GETはリソースを取得するがリソースのヘッダのみ取得。
レスポンスにボディは含まれない。
なんとなくリソースの大きさわかったりする。
6.OPTION
リソースがサポートしているHTTPメソッドの取得
現実にはGETとPOSTが1番使われる
→HTMLのフォームで指定できる
メソッドであるからという制限に起因しているよう