gpt4 book ai didi

node.js - express-session 和 cookie-session 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 21:55:47 35 4
gpt4 key购买 nike

我是 Express 的新手。由于 Express 4.x 已移除捆绑的中间件。应该需要我想使用的任何中间件。当我用 express-session 阅读自述文件时和 cookie-session在github上,我觉得很难理解其中的区别。

所以我尝试编写简单的代码来解决这个问题。我为每个中间件运行两次。

var express = require('express')
, cookieParser = require('cookie-parser')
, session = require('cookie-session')
, express_sess = require('express-session')
, app = express();

app.use(cookieParser())
app.use(session({ keys: ['abc'], name: 'user' }));
//app.use(express_sess({ secret: 'abc', key: 'user'}));
app.get('/', function (req, res, next) {
res.end(JSON.stringify(req.cookies));
console.log(req.session)
console.log(req.cookies)
});

app.listen(3000);

对于 cookie-session,我的终端总是会收到 {}。

对于 express-session,我得到这样的东西。

req.session: { cookie: { 
path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true
}
}

req.cookie: {user: 's:aJ97vKA5CCwxqdTj0AV1siRQ.fWusS5+qfCKICtwkfrzcZ/Gq8P0Qdx/kx8mTBhoOhGU'}

这真的让我很困惑。那么如何用基本用法来解释结果呢?他们之间有什么区别?我应该什么时候使用它们?

最佳答案

基本上,express-session 更抽象,它支持不同的 session 存储(如文件、数据库、缓存等)。

cookie-session 是一个简单/轻量级的基于cookie(cookie 是唯一支持的存储引擎:所有 session 信息都存储在客户端,在一个cookie 中)的 session 实现。这种 session 可能最有名的是它的Rails implementation .

关于node.js - express-session 和 cookie-session 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23566555/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com