Get、Post、Put、Delete和Patch的区别(简要概括)

时间:2025-04-08 10:14:38

GET:用于获取资源的表示形式,不会对服务器上的数据进行修改。(获取数据),在GET请求的URL中发送查询字符串(名称/值对)一般放在url中

特点:安全,幂等

http://localhost:8080/test?admin=123

GET请求有缓存的,浏览器历史记录中查找到GET请求且GET请求有长度限制,仅用于请求数据


POST:用于向服务器提交数据,一般用于创建新资源。在请求中包含实体的主体部分。可以用于创建子资源。创建、更新、删除、查询资源

特点:非安全、非幂等。


PUT:用于向服务器更新指定资源的表示形式,或者在服务器上创建新资源。在请求中包含完整的实体的主体部分。数据放在body中,可以创建、更新资源(全部更新:所以也是put符合幂等性的原因)

特点:非安全、幂等。


DELETE:用于从服务器删除指定资源。向服务器端提交数据,请求数据在报文body里;
发送一个删除数据的请求。

特点:非安全、幂等。


PATCH:用于向服务器部分更新资源。与PUT不同,PATCH请求只需要包含要更新的字段及其值,而不是整个实体的主体部分。

特点:不安全,非幂等