node.js - 了解快速 session

标签 node.js express session-cookies

我正在使用 express.cookieParserexpress.session 来检查 this short tutorial on sessions in Express:

app.use(express.cookieParser());
app.use(express.session({secret: '1234567890QWERTY'}));

有这样一段话:

Sessions are accessible through the request object in each route. You can get and set
properties just like you would when handling an object normally. For example, lets set 
some session data in the awesome route.

app.get('/awesome', function(req, res) {
  req.session.lastPage = '/awesome';
  res.send('Your Awesome.');
});

两个问题:

  1. req.sesssion中引用的 session 是发送到客户端的cookie,其中包含由node/express创建的sessionID,现在它会随着 get 请求被发回。这是正确的吗?

  2. 那么在 res 中,这个 session 对象会自动附加到 res 然后发送回来,更新客户端 cookies ?

最佳答案

如果您正在使用 session 。浏览器只会在 cookie 中包含 session ID。您放入 req.session 变量中的内容将保存在服务器端(或者您配置 Express 来保存它的位置)。

在浏览器的 cookie 中设置的 session ID 将作为服务器的 key ,用于识别要为该浏览器加载哪些 session 信息。

关于node.js - 了解快速 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24844804/

相关文章:

windows - 如何从 Node js在windows上执行.bat脚本

javascript - [Electron][OSX] 始终显示托盘图标

javascript - 将流传输到响应时快速处理错误

javascript - 在根上表达动态路由

node.js - 如何使用 express 保留数据库的一个实例

javascript - 域属性无效 - 设置 Cookie

node.js - 环回 - "next()"未在 "beforeRemote"中的正确时间触发?

node.js - 如何确定包含多个流的流中文件的结尾? ( Node )

python - 如何存储从请求收到的cookie?

php - 同一浏览器上的多个 session 用于一个 Web 应用程序