PATCH
HTTP PATCH
方法對資源應用部分修改。
PATCH
在某種程度上類似於 CRUD 中的「更新」概念(一般來說,HTTP 與 CRUD 不同,兩者不應混淆)。
PATCH
被視為對資源進行修改的一組指令。與 PUT
相比較,後者是對資源的完整表示。
PATCH
不一定是幂等的,儘管它可以是。與 PUT
相比較,後者總是幂等的。「幂等」這個詞意味著任意次重複、相同的請求將使資源處於相同的狀態。例如,如果自動遞增計數器字段是資源的一部分,那麼對於 PUT
來說自然會覆蓋它(因為它覆蓋了一切),但對於 PATCH
來說不一定如此。
PATCH
(像 POST
一樣)可能會對其他資源產生副作用。
要找出伺服器是否支持 PATCH
,伺服器可以通過將其添加到 Allow
或 Access-Control-Allow-Methods
(對於 CORS)回應標頭中的列表來宣告其支持。
另一個(隱式)表明 PATCH
被允許的指示是 Accept-Patch
標頭的存在,該標頭指定伺服器接受的修補程式文件格式。
語法
http
PATCH /file.txt HTTP/1.1
範例
請求
http
PATCH /file.txt HTTP/1.1
Host: www.example.com
Content-Type: application/example
If-Match: "e0023aa4e"
Content-Length: 100
[description of changes]
回應
規範
Specification |
---|
RFC 5789 |
參見
204
Allow
、Access-Control-Allow-Methods
Accept-Patch
——指定伺服器接受的修補程式文件格式。