From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/http/methods/patch/index.html | 97 +++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 files/zh-cn/web/http/methods/patch/index.html (limited to 'files/zh-cn/web/http/methods/patch') diff --git a/files/zh-cn/web/http/methods/patch/index.html b/files/zh-cn/web/http/methods/patch/index.html new file mode 100644 index 0000000000..a86b50d0f1 --- /dev/null +++ b/files/zh-cn/web/http/methods/patch/index.html @@ -0,0 +1,97 @@ +--- +title: PATCH +slug: Web/HTTP/Methods/PATCH +tags: + - HTTP + - HTTP method + - HTTP方法 + - 参考 + - 请求方法 +translation_of: Web/HTTP/Methods/PATCH +--- +
{{HTTPSidebar}}
+ +

在HTTP协议中,请求方法 PATCH  用于对资源进行部分修改。

+ +

在HTTP协议中, {{HTTPMethod("PUT")}} 方法已经被用来表示对资源进行整体覆盖, 而 {{HTTPMethod("POST")}} 方法则没有对标准的补丁格式的提供支持。不同于  PUT 方法,而与 POST 方法类似,PATCH  方法是非幂等的,这就意味着连续多个的相同请求会产生不同的效果。

+ +

要判断一台服务器是否支持  PATCH 方法,那么就看它是否将其添加到了响应首部 {{HTTPHeader("Allow")}} 或者 {{HTTPHeader("Access-Control-Allow-Methods")}} (在跨域访问的场合,CORS)的方法列表中 。

+ +

另外一个支持 PATCH 方法的隐含迹象是 {{HTTPHeader("Accept-Patch")}} 首部的出现,这个首部明确了服务器端可以接受的补丁文件的格式。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Request has bodyYes
Successful response has bodyNo
{{Glossary("Safe")}}No
{{Glossary("Idempotent")}}No
{{Glossary("Cacheable")}}No
Allowed in HTML formsNo
+ +

语法

+ +
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
+
+[description of changes]
+ +

响应

+ +

 {{HTTPStatus("204")}} 状态码表示这是一个操作成功的响应,因为响应中不带有消息主体。

+ +
HTTP/1.1 204 No Content
+Content-Location: /file.txt
+ETag: "e0023aa4f"
+ +

规范

+ + + + + + + + + + + + +
SpecificationTitle
{{RFC("5789", "PATCH")}}PATCH Method for HTTP
+ +

相关内容

+ + -- cgit v1.2.3-54-g00ecf