2012-10-25 153 views
0

如果满足以下条件:,Cookie是否仍然需要?

  1. 所有页面都是静态的(例如,模板,通过WebSocket的数据填写)

  2. 所有的页面都是公开的

  3. 会话ID和状态通过websocket传送

  4. 通过sessionStorage和/或localStorage存储的客户端会话状态

还需要cookie吗?

回答

1

如果页面是100%的静态那么就没有状态,所以这个问题变得毫无意义,因为在没有机制所有这些都是为了保持跨请求状态所必需的。

但是,如果页面的任何部分都是动态的,那么cookie可能仍然是跨多个会话保持状态所必需的。由于cookie存储在客户端,但每次请求都传递给服务器,因此它们是用于同步客户端和服务器状态的机制。当然,如果你愿意,你可以通过AJAX请求和localStorage来实现。

+0

对问题变得毫无意义以及保存状态的核心问题发表了很好的评论。 –

2

localStorage/sessionStore确实可以替代Cookie存储。两者都在客户端上。

关于cookie的巧妙之处在于它们被自动附加到任何HTTP请求。从编码的角度来看,绝对没有任何事情要做。但是因为你想使用websocket,所以它不适用 - 你仍然需要使用存储在localStorage中的sessionid进行连线。

所以回答你的问题是“否”,则不需要cookies在您的方案

+0

右键 - 在'sockjs' cookies中,由于安全原因无法访问 - 那么为什么麻烦 –

相关问题