我需要一些澄清。我一直在阅读有关REST和构建RESTful应用程序的信息。根据维基百科,REST本身被定义为“ 代表性状态转移”。因此,我不理解每个人不断涌出的所有无状态gobbledeygook。
从维基百科:
在任何特定时间,客户端可以在应用程序状态之间转换,也可以“静止”。处于休息状态的客户端可以与其用户进行交互,但是不会造成负载,也不会消耗服务器集或网络上的每个客户端存储。
他们只是在说不使用会话/应用程序级别的数据存储吗???
我知道REST的一个目标是使URI访问保持一致和可用,例如,而不是在帖子内部隐藏分页请求,而使请求的页码成为GET URI的一部分。我感觉合理。但是,似乎没有任何理由说每个客户端数据(会话数据)都不应存储在服务器端。
如果我有一条消息队列,并且我的用户想阅读消息,但是在阅读过程中,他想在会话期间阻止某些发件人消息通过,该怎么办?将其存储在服务器端的某个位置,让服务器仅发送未被用户阻止的消息(或消息ID),这是否有意义?
每次我请求新的消息列表时,是否真的必须发送整个消息发件人列表才能阻止?首先,与我相关的消息列表甚至不会/也不应该是公共可用的资源。
同样,只是试图理解这一点。请有人澄清。
更新:
我发现了一个堆栈溢出问题,该问题的答案并不能完全解决我的问题: 如何在REST 中管理状态,该状态表示重要的客户端状态应在每个请求上全部转移。 ..似乎有很多开销...是这样吗?