PUT 请求方法

PUT HTTP 方法会创建新资源,或者用请求内容替换目标资源的表示。

PUTPOST 的区别在于 PUT幂等的:调用一次与连续调用多次的效果相同(没有副作用)。

请求有正文
成功响应有正文 可能
安全
幂等
可缓存
允许在 HTML 表单中使用

语法

http
PUT <request-target>["?"<query>] HTTP/1.1
<请求目标>

Host 标头中提供的信息结合使用时,标识请求的目标资源。这是对源服务器的请求中的绝对路径(例如,/path/to/file.html),以及对代理的请求中的绝对 URL(例如,http://www.example.com/path/to/file.html)。

<query> 可选

一个可选的查询组件,前面带有一个问号 ?。通常用于以 key=value 对的形式携带识别信息。

示例

成功创建资源

以下 PUT 请求要求在 example.com/new.html 处创建资源,内容为 <p>New File</p>

http
PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16

<p>New File</p>

如果目标资源没有当前表示,并且 PUT 请求成功创建了一个,那么源服务器必须发送 201 Created 响应。

http
HTTP/1.1 201 Created
Content-Location: /new.html

如果目标资源当前表示,并且该表示已成功通过请求中的状态进行修改,则源服务器必须发送 200 OK204 No Content 以指示请求成功完成。

http
HTTP/1.1 204 No Content
Content-Location: /existing.html

规范

规范
HTTP 语义
# PUT

浏览器兼容性

浏览器不会将 PUT 方法用于用户发起的动作,因此“浏览器兼容性”不适用。开发者可以使用 fetch() 设置此请求方法。

另见