论GET的幂等性

时间:2012-10-05 19:02:51

标签: get idempotent

我一直在阅读GET HTTP方法,特别是它的幂等质量。

这是我的理解:如果我将GET操作调用1次或100万次(或任意次数),结果应该相同。

我对这个定义的问题是这个。
想象一下,如果我有一个电影数据库,我执行GET操作,我将返回数据库中的所有詹姆斯邦德电影。
想象一下,我运行这个查询一百万次,在第500,000次之后,其他人在数据库上运行POST查询,添加一个新的邦德电影。
好吧,现在一半的GET操作返回N个结果,另一半返回N + 1个结果。

这是否会破坏幂等性,因为它通常被描述? 难道更好的定义是,函数的幂等性是它返回相同的结果,无论执行多少次,只要基础数据不会改变

2 个答案:

答案 0 :(得分:2)

GET幂等因为它没有(或不应该)改变资源。这不要求资源是静态的,其他任何东西(如帖子)都不会改变它。

答案 1 :(得分:2)

幂等性是指GET调用不会改变被调用的资源。

其他方法的作用是另一回事。