使用sessionStore和webSockets,还需要cookie吗?

时间:2012-10-25 11:24:40

标签: javascript session cookies websocket

如果满足以下条件:

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

  2. 所有网页都是公开的

  3. 会话ID和状态通过websocket

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

  6. 是否还需要cookie?

2 个答案:

答案 0 :(得分:2)

localStorage / sessionStore确实可以替换cookie存储。两者都在客户端。

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

因此,您的问题的答案是“否”,您的方案中不需要cookie

答案 1 :(得分:1)

如果页面是100%静态的,则没有状态,因此问题变得没有实际意义,因为根据请求保留状态根本不需要任何机制。

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