PATCH
HTTP の PATCH
リクエストメソッドは、リソースへの部分的な変更を適用します。
PATCH
は CRUD に見られる "update" の概念にやや類似しています(一般的に、 HTTP は CRUD とは異なり、両者は混同するべきではありません)。
PATCH
リクエストは、リソースをどのように修正するかの指示のセットと考えられます。これは PUT
がリソースの完全な表現を送るのと対照的です。
PATCH
はべき等であるとは限りませんが、そうなる可能性もあります。この点は、常にべき等である PUT
とは対照的です。「べき等」という言葉は、同じリクエストを何度繰り返しても、リソースが同じ状態になることを意味します。 例えば、自動インクリメントするカウンタフィールドがリソースの不可欠な部分である場合、 PUT
は自然にそれを上書きしますが(すべてを上書きするので)、 PATCH
は必ずしもそうとは限りません。
PATCH
は(PUT
のように)他のリソースに対して副作用が発生する場合があります。
サーバーが PATCH
に対応しているかどうかを調べるために、サーバーは Allow
または Access-Control-Allow-Methods
(CORS の場合)レスポンスヘッダーのリストに追加することで対応状況を知らせることができます。
PATCH
が許可されていることを示すもう1つの(暗黙の)識別方法は、サーバーが受け付けるパッチ文書の形式を指定する Accept-Patch
があることです。
構文
PATCH /file.txt HTTP/1.1
例
リクエスト
PATCH /file.txt HTTP/1.1 Host: www.example.com Content-Type: application/example If-Match: "e0023aa4e" Content-Length: 100 [変更の記述]
レスポンス
仕様書
仕様書 | 題名 |
---|---|
RFC 5789: PATCH | PATCH Method for HTTP |
関連情報
204
Allow
,Access-Control-Allow-Methods
Accept-Patch
– サーバーが受け入れる PATCH 文書の形式を指定します。