POST 和 PUT 方法的区别
目录
某日突然想在 Server 端扩展一下 可以接受的 http 方法, 所以学习了一下其他方法的使用.
然后发觉一直对 POST 和 PUT 方法的区别很模糊.
于是干脆花时间研究一下
幂等性
先了解一下 幂等性, 我们是开发不是数学家, 所以尽可能简单地解释这个概念: 某操作多次执行后, 总体环境下最终结果相同, 那么就是幂等.
POST 和 PUT 的区别
看几个例子就可以理解了
添加操作
/user/creation?user_name=&pwd=
对于添加操作, 每次执行的结果确实相同, 所以一开始可能被误解成幂等.
但是实际上如果从总体环境下来看, 每次都多出一条记录, 所以并不是幂等, 非幂等的情况下都建议使用 POST 方法.
更新操作
/user/{user_id}/modify?pwd=**
对于这样的更新操作,每一次操作结果确实是相同的,所以这个操作是幂等的.
所以这个操作建议使用 PUT 方法.