4.5. Using HTTP Methods (HTTP メソッドの使用)
4.5. Using HTTP Methods (HTTP メソッドの使用)
HTTP を使用するアプリケーションは, [HTTP] で定義されているように, 使用するメソッドのセマンティクスに準拠しなければなりません (MUST)。新しいメソッドを定義してもかまいません (MAY) が, その場合は [HTTP] セクション 16.1 の手順に従って登録しなければなりません (MUST)。
新しいメソッドはまれです; これらは, 既存のメソッドのセマンティクスが必要なものを許可しない場合にのみ必要です。通常, リクエストボディの新しい Content-Type を定義したり, レスポンスで Link 関係を定義したりすることで, セマンティクスの曖昧さを解消するのに十分です。
たとえば, アプリケーションがリソースを "再配置" する操作を定義したい場合, 新しい RELOCATE メソッドを定義することは不適切です。PUT はすでにリソースの状態を変更するために使用できるためです (更新された場所を含む新しい表現を提供することによって)。
メソッドの使用を指定するとき, 安全性, 冪等性, キャッシュ可能性などのさまざまなプロパティを考慮することが重要です。
アプリケーションは可能な限り既存の HTTP メソッドを使用すべきです (SHOULD)。特に:
-
GET は安全でキャッシュ可能な操作に使用すべきです (SHOULD) ([HTTP] セクション 9.2.1 および 15.4 による)。
-
HEAD は GET がサポートされている場所ではどこでもサポートされるべきです (SHOULD)。
-
POST は安全でも冪等でもない操作に使用すべきです (SHOULD)。
-
PUT は提供された URL の下に囲まれた表現を格納する操作に使用すべきです (SHOULD)。既存の表現を置き換えます。
-
DELETE は URL によって識別されるリソースを削除する操作に使用すべきです (SHOULD)。
GET および OPTIONS を使用する際の追加の考慮事項については, セクション 4.5.1 およびセクション 4.5.2 を参照してください。