HTTPメソッド

『Webを支える技術』で、HTTPメソッドについて勉強したので、メモ。

HTTPメソッド

メソッド 意味
GET リソースの取得
POST 子リソースの作成、リソースへのデータの追加、そのほかの処理
PUT リソースの更新、リソースの作成
DELETE リソースの削除
HEAD リソースのヘッダ(メタデータ)の取得
OPTIONS リソースがサポートしているメソッドの取得
TRACE プロキシ動作の確認
CONNECT プロキシ動作のトンネル接続への変更

※TRACE、CONNECTはあまり使われない

CROUDとHTTPメソッド

メソッド 意味 メソッド
Create 作成 POST/PUT
Read 読み込み GET
Upsate 更新 PUT
Delete 削除 DELETE

GET ~ リソースの取得

GETは指定したURIの情報を取得する。
Webページの取得、画像の取得、映像の取得、フィードの取得などで使用する。

POST ~ リソースの作成、追加

子リソースの作成

あるリソースに対する子リソースを作成する。
ブログ記事の投稿などの操作で使用される。

リソースへのデータ追加

既存リソースへのデータの追加を行う。

他のメソッドでは対応できない処理

ほかのメソッドでは実現できない機能はPOSTで代用する。
URIにキーワードを入れる場合、長いキーワードを入れてGETはできないのでPOSTを用いる。

PUT ~ リソースの更新、作成

リソースの更新

存在するURIへのリクエストの場合は、更新処理をおこなう。

リソースの作成

存在しないURIへのリクエストの場合はリソースを作成する。

POSTとPUTの違いと使い分け

POSTでリソースを作成する場合、クライアントはリソースのURIを指定できない。URIの決定権はサーバ側にある。
逆にPUTでリソースを作成する場合、リソースのURIはクライアントが決定する。

クライアントがリソースのURIを決定できるということは、クライアントを作るプログラマがサーバの内部実装(URIにどの文字を許すのか、長さの制限はどれくらいかなど)を熟知していなければならない。
特別な理由がない限りは、リソースの作成はPOSTで行いURIもサーバ側で決定する、という設計が望ましい。

DELETE ~ リソースの削除

リソースを削除するメソッド。

HEAD ~ リソースヘッダの取得

GETに似ているが、HEADはリソースのヘッダ(メタデータ)だけを取得するメソッド。
ネットワークの帯域を節約しながらリソースの大きさを調べたり、リソースの更新日時を取得したりできる。

OPTIONS ~ リソースがサポートしているメソッドの取得

OPTIONSはそのリソースがサポートしているメソッドの一覧を返す。



【送料無料】Webを支える技術 [ 山本陽平 ]

【送料無料】Webを支える技術 [ 山本陽平 ]
価格:2,699円(税込、送料込)