express的cookie-session中间件

发布于 2022-09-06 08:56:28 字数 89 浏览 10 评论 0

cookie-session中间件说是将session data全部存储在客户端,但是不是存储在req.session中吗?不就是Node-Server的内存中吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痴骨ら 2022-09-13 08:56:28

问题一:session data是否全部存储在客户端

首先要了解session的机制,以用户通过浏览器访问网站为例:

  1. 用户请求到达server
  2. server生成用户的session信息,存储在服务端
  3. server返回用户请求,通过 Set-Cookie 在用户侧种cookie

访问网站的用户很多,服务端存储的session也很多,当用户再次访问网站,server怎么区分当前访问的用户对应的session是哪一个?

答案就是前面讲到的cookie。因此,session data 同时存储在服务端、客户端(比如浏览器)。

问题二:session在服务端的怎么存储

session 在服务端可以存储在多个地方,比如内存、本地磁盘、远程数据库等。cookie-session 默认是存在内存中,也可以选择其他存储方案,具体参考 官方文档

问题三:session data是否存储在req.session中

结论:session数据并不是存储在 req.session 中,只是为了方便用户操作,中间节给挂载到 req.session 上了而已。实际存储位置,参见上一个问题的答案。

流程如下:

用户访问 -> 按需读取用户session data -> 格式化session data -> 挂载到 req.session

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文