阅读REST协议我已经看到GET调用不应该更新服务器/应该是幂等的,所以我想:如果我想要保存用户搜索(由GET调用发出)怎么办?我的结论是,因为它是幂等操作(首先和N保存对服务器具有相同的效果),在这种情况下,GET调用可以修改服务器数据。
我对吗?
谢谢
如果我想要保存用户搜索(由GET调用发出)怎么办?
当然,请继续前进。
我的结论是,因为它是幂等操作(首先和N保存对服务器具有相同的效果),在这种情况下,GET调用可以修改服务器数据。
你的结论很好,你的推理有点软。
罗伊菲尔丁,writing in 2002
HTTP不会尝试要求GET的结果是安全的。它的作用是要求操作的语义是安全的,因此它是实现的错误,而不是接口或接口的用户,如果发生任何导致财产损失的结果(金钱,BTW,为了这个定义,它被认为是财产。
这里的关键思想是语义区分:HTTP统一接口定义GET是safe
如果请求方法的定义语义基本上是只读的,则被认为是“安全的”;即,作为对目标资源应用安全方法的结果,客户端不请求并且不期望源服务器上的任何状态改变。同样,合理使用安全方法预计不会对原始服务器造成任何伤害,财产损失或异常负担。
服务器可以以任何方式处理请求(例如,记录所有这些请求)。