无状态与cookie和有状态

时间:2014-11-02 22:46:10

标签: session stateless

我发现这样:

"有状态 - 跟踪以前存储的用于当前交易的信息。

无状态 - 每次交易都像第一次完成一样进行。以前没有存储用于当前交易的信息。

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

我很困惑。因此,如果使用cookie的无状态会话保持状态,那么它意味着: 无状态会话与cookie =会话状态?

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

1 个答案:

答案 0 :(得分:0)

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

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

来自Wikipedia: Representational state transfer

  

会话状态可以由服务器传输到另一个服务(如数据库),以维持一段时间的持久状态并允许身份验证。

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