Put 与 Patch 方法的区别

17 Mar 2025 | 阅读 2 分钟

PUT 是什么?

在 HTTP 服务器上创建对象或资源时,客户端会使用 PUT 方法。这种设置过程本身可能采取两种形式之一:

当请求一个尚不存在的对象时,服务器会创建它并向客户端返回 201 响应码。

服务器会修改已存在的实体,并向客户端返回 200 和 204 的成功码。此外,如果 PUT 请求遇到问题,服务器应向客户端提供相应的错误编号,通常是 4xx 或 5xx。

PATCH 是什么?

PATCH 方法仅部分修改资源元素。PATCH 方法会原子地执行请求的修改。这意味着如果服务器无法满足所有请求的修改,它将不会修改目标对象。通过此方法,如果请求成功执行,服务器会向客户端发送 204 成功码。否则,服务器会发送错误码。

Difference Between Put and Patch Method

PUT 和 PATCH 的区别

  • 当客户端使用 PUT 方法修改资源时,整个资源都会被更新。PATCH 是一种资源修改方法,客户端发送部分更新的数据,而不更改整个数据。
  • PUT 请求中的实体被视为源服务器上保存资源的更改版本,客户端要求替换已保存的版本。
  • 然而,对于 PATCH,实体包含一系列指令,概述了如何修改源服务器上当前存在的资源以创建新版本。
  • 根据 HTTP PUT 是幂等的声明,多次重试请求应等同于进行一次更新请求。本质上,HTTP PATCH 是非幂等的。因此,如果您提交请求 N 次,服务器将创建 N 个具有 N 个唯一 URI 的资源。
  • 带宽占用大
  • 占用带宽小,因为只发送请求体中需要更新的数据作为载荷。
基础PutPATCH
定义用于更新记录,该记录的所有细节都将被更新。也用于更新记录,这里重要的是,无论在载荷中提供什么,只有那些细节会被更新,其余的都将保持不变。
带请求体的请求
带响应体的成功响应
幂等

下一主题区别