我一直在阅读 GET HTTP 方法,尤其是它的幂等性。
这是我的理解:如果我调用 GET 操作 1 次或 100 万次(或任意次数),结果应该是相同的。
我对这个定义的问题是这样的。
想象一下,如果我有一个电影数据库,并且我执行了一个 GET 操作,在该操作中我返回了数据库中的所有詹姆斯邦德电影。
想象一下,我运行这个查询一百万次,在第 500,000 次之后,其他人在数据库上运行 POST 查询,添加了一部新的邦德电影。
好吧,现在一半的 GET 操作返回 N 个结果,另一半返回 N+1 个结果。
这不是像通常描述的那样破坏幂等性吗?一个函数的幂等性是不是更好的定义是只要底层数据不变,
无论执行多少次,它都会返回相同的结果?