Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 从webservice检索数据,有副作用-使用什么方法_Rest_Http - Fatal编程技术网

Rest 从webservice检索数据,有副作用-使用什么方法

Rest 从webservice检索数据,有副作用-使用什么方法,rest,http,Rest,Http,我正在编写一个向客户端发送数据的Web服务,但它有副作用 此webservice将定期调用,发送到客户端的任何数据都将被标记为这样,并且不会再次发送 客户端是100%无状态的,我不能期望它发送像上次请求的时间戳这样的东西。国家的管理权在于web服务 我坚信GET请求必须是幂等的,所以我不能用它作为方法。另一方面,POST和PUT用于创建/更新资源,这里的情况并非如此 你会选择什么http方法?为什么?我最终选择了POST 主要是争论 如果不能期望客户端实现基本的HTTP措施,例如使用If-Mod

我正在编写一个向客户端发送数据的Web服务,但它有副作用

此webservice将定期调用,发送到客户端的任何数据都将被标记为这样,并且不会再次发送

客户端是100%无状态的,我不能期望它发送像上次请求的时间戳这样的东西。国家的管理权在于web服务

我坚信GET请求必须是幂等的,所以我不能用它作为方法。另一方面,POST和PUT用于创建/更新资源,这里的情况并非如此


你会选择什么http方法?为什么?

我最终选择了
POST

主要是争论

如果不能期望客户端实现基本的HTTP措施,例如使用If-Modified-Since或类似的内容实现条件GET。。。那么另一端可能也不是关于HTTP的纯粹的一端


正是这一点说服了我。

我可能会选择《邮报》。如果不能期望客户端实现基本的HTTP措施,例如使用If-Modified-Since或类似的内容实现条件GET。。。那么另一端可能也不是关于HTTP的纯粹的一端。我会使用补丁-这既不是纯粹的读取,也不是创建或完全更新。这是一个局部更新,从这个意义上说,客户端间接地在资源上设置了“OK,我看到了这个”标记。补丁也不是幂等的。除了@CBroe已经说过的,帖子内容的语义完全取决于服务维护者。POST不仅仅是一个简单的
CREATE resource
操作,更像是一个通用工具,用于其他HTTP操作无法很好地描述的任何内容。你说的副作用是什么?如果它们与日志记录(或类似内容)有关,则根据您的设计,它们可能是可以接受的,因为它们不会影响资源状态。@CBroe感谢您的回答,这是很有见地的。如果你把它写在回信里,我一定会接受的。谢谢大家!嗯,这个答案有点短。。。也许你自己写一个答案?然后你也可以考虑其他的评论(也可以考虑有效的观点),让我们知道你最后决定做什么。我认为这样更好:)