【问题标题】:Stateless with cookie vs stateful带有 cookie 的无状态与有状态
【发布时间】:2014-12-29 14:01:18
【问题描述】:

我发现是这样的:

“有状态 - 跟踪用于当前事务的先前存储的信息。

无状态 – 每笔交易都像第一次完成一样执行。没有用于当前事务的先前存储的信息。

在纯粹的无状态环境中,您不需要此会话 ID。每个请求都将包含服务器需要处理的所有信息。但是许多应用程序需要维护状态以跟踪会话是否经过身份验证以查看某些内容或跟踪用户正在做什么。您不希望通过网络为每个请求发送用户凭据。”

我很困惑。因此,如果与 cookie 的无状态会话保持状态,则意味着: stateless session with cookie= session stateful?

另一种想法。我发现会话无状态是客户端会话和有状态是服务器端会话的信息。如果无状态会话不维护会话,我们如何讨论客户端会话?

【问题讨论】:

    标签: session stateless


    【解决方案1】:

    在纯粹的无状态环境中,您真的不需要会话或 cookie。

    会话和 cookie 都用于维护状态。唯一的问题是在哪里。 Cookies 在客户端维护状态,而会话在服务器上维护状态。

    来自Wikipedia: Representational state transfer

    服务器可以将会话状态转移到另一个服务,例如数据库,以在一段时间内保持持久状态并允许身份验证。

    所以通常在无状态设计中,是的,客户端请求之间没有状态。 每个客户端请求都将有足够的信息来执行请求的操作。 但是,您仍然需要身份验证和/或授权,以便从请求标头中识别客户端(通常)。

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 1970-01-01
      • 2021-04-27
      • 2020-02-09
      • 2016-06-08
      • 2014-07-04
      • 2020-02-29
      • 2011-02-05
      相关资源
      最近更新 更多