PUT

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTTP PUT 请求方法创建一个新的资源或用请求的有效载荷替换目标资源的表示。

PUTPOST 方法的区别是,PUT 方法是幂等的:调用一次与连续调用多次效果是相同的(即没有作用),而连续调用多次相同的 POST 方法可能会有副作用,比如多次提交同一订单。

请求是否有主体
成功的响应是否有主体 可能有
安全
幂等
可缓存
允许在 HTML 表单中使用 不允许

语法

http
PUT /new.html HTTP/1.1

示例

请求

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

<p>新文件</p>

响应

如果目标资源没有当前的表示,并且 PUT 方法成功创建了资源,那么源服务器必须返回 201Created)来通知用户代理资源已创建。

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

如果目标资源已经存在,并且依照请求中封装的表现形式成功进行了更新,那么,源服务器必须返回 200OK)或 204No Content)来表示请求成功完成。

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

规范

Specification
HTTP Semantics
# PUT

浏览器兼容性

BCD tables only load in the browser

参见