# POST 请求和 PUT 请求的区别

都是向服务器端发送新增资源

  1. PUT 方法是幂等的:连续调用一次或者多次的效果相同(无副作用),而 POST 方法是非幂等的
  2. PUT 的 URI 指向是具体单一资源,而 POST 可以指向资源集合
  • 举例说明
    在开发博客系统的时候,使用 POST 方式新建一篇文章:POST https://ihorace.cn/articles
    如果重复多次提交这个请求会创建多篇文章 -> 非幂等
    PUT 请求是更新对应文章下的资源(比如修改作者名称等) PUT https://ihorace.cn/articles/xxx
    这个 URI 指向的就是单一资源,而且是幂等的,比如把文章作者的名称从 oldName -> newName,无论提交多少次都是修改成 newName

  • 说明
    POST 表示创建资源,PUT 表示更新资源的说法是错误的,两种请求方式都可以创建资源,根本区别是两者的幂等性

Last Updated: 5/6/2020, 11:48:16 AM