ふみぽん's diary

技術的な備忘録が主のブログ

HTTPメソッド

HTTPの基本的なメソッド

以下の6つが主なメソッドだが、現実的にはGETとPOSTをよく使う

  1. GET
  2. POST
  3. PUT
  4. DELETE
  5. HEAD
  6. 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のフォームで指定できる
 メソッドであるからという制限に起因しているよう