get 取资源幂等,post修改资源状态非幂等

TTP 1.1 [1] 一共有 8 种方法(methods):OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT。其中我们常用的主要是 GET 和 POST。

这里有两个概念:安全方法(safe methods)以及幂等方法(idempotent methods)。

首先 GET 是「安全」的而 POST 不是。安全方法仅仅获取资源而不进行任何其他操作。然而有些服务生成的动态内容会因 GET 而变,比如在搜索引擎多次访问同一个搜索结果条目可能导致它在后续的搜索中排序提升。但这里的所谓安全是对于请求发起者而言,他并不主动期待这样的变化,而是单纯地获取资源。

而幂等是说,这个方法执行多次和执行一次的效果是一样的。显然 GET 是幂等的,因为除了获取资源什么都不会做;POST 则是像服务器提交数据请求处理,可能导致修改或者创建资源,所以是非幂等的。

所以你要在 GET 和 POST 之间做选择的话,一个简单的方法是,问问自己:这个操作的目的是使得服务器上的资源或数据发生变更吗?是的话,就用 POST 吧;否则就应该是 GET。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值