0

如果满足以下条件:

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

  2. 所有页面都是公开的

  3. 通过 websocket 通信的会话 ID 和状态

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

还需要饼干吗?

4

2 回答 2

2

localStorage/sessionStore 确实可以替代cookie Storage。两者都在客户端上。

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

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

于 2012-10-25T11:39:08.193 回答
1

如果页面是 100% 静态的,那么就没有状态,所以这个问题变得没有实际意义,因为根本不需要任何机制来跨请求保留状态。

但是,如果页面的任何部分是动态的,则可能仍然需要 cookie 来跨多个会话保存状态。由于 cookie 存储在客户端,但随着每个请求传递给服务器,它们是一种用于同步客户端和服务器状态的机制。当然,如果您愿意,您可以自己通过 AJAX 请求和 localStorage 来实现这一点。

于 2012-10-25T11:45:47.313 回答