【问题标题】:How does the cookie-session middleware work in expressjs?cookie-session 中间件在 expressjs 中是如何工作的?
【发布时间】:2015-02-27 07:46:54
【问题描述】:

我想知道 expressjs 中 cookie-session 的基本概念。例如,当我们在会话中存储一些东西时

req.session.myName = "Manas Tunga";

此会话数据存储在哪里?它是在客户端会话cookie中还是在服务器内存中。 以及 cookie-session 中间件如何在没有 cookie-parser 中间件的情况下工作。没有cookie-parser中间件,session cookie如何解析??

cookie-session 会在内存中创建会话对象吗?或者它将每个会话数据仅存储在客户端会话 cookie 中。或者它同时使用两者。我有点困惑。

【问题讨论】:

    标签: node.js session express cookies cookie-session


    【解决方案1】:

    此会话数据存储在哪里?

    数据存储在客户端的cookies中

    没有cookie-parser中间件,会话cookie如何解析?

    cookie-session 模块依赖于 cookies 模块,它允许获取和设置 HTTP cookie

    cookie-session 会在内存中创建会话对象吗?或者它只将每个会话数据存储在客户端会话 cookie 中。或者两者都使用。

    它创建一个会话对象,该对象被字符串化并以 base64 编码并最终存储在客户端会话 cookie 中

    【讨论】:

    • 我认为这个答案是不正确的。在此处阅读更多内容以获得更好的想法 - stackoverflow.com/a/12457587/4434249 - 只有会话 ID 与看起来的 cookie 一起存储。
    • @noob-in-need 请阅读:github.com/expressjs/cookie-session#max-cookie-size,在那里你会发现:“因为整个会话对象被编码并存储在一个 cookie 中,所以有可能超过最大 cookie 大小对不同浏览器的限制”。这取决于实现,cookie 可能只包含会话 id,但在这种情况下,它包含整个会话内容,当然,这些内容是经过编码的。
    • 感谢您的回复。我以为他在谈论不同的模块。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2013-01-28
    • 2014-09-15
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多