关于node的session问题求解惑
发布于 9 年前 作者 keniusuannai 3362 次浏览 最后一次编辑是 8 年前 来自 问答

网上查了一下 有很多方法实现session 比如用express-ssion实现 但是有一些不理解的问题 为什么说session的认证机制离不开cookie 代码中:

app.use(session({
    	secret: '12345',
	    name: 'testapp',   //这里的name值得是cookie的name,默认cookie的name是:connect.sid
        cookie: {maxAge: 80000 },  //设置maxAge是80000ms,即80s后session和相应的cookie失效过期
        resave: false,
        saveUninitialized: true,
}));  \n```

session为甚还需要cookie呢 是里面的机制问题吗 求详解
2 回复

cookie通常来讲一般只是存一些用来标识身份的信息吧,而这些标识在每次请求服务器时,服务器会拿来校验是否能对应到这个session,你不想用cookie的话,比如angular,你也可以从后端自己生成一个sessionId,将sessionId和用户信息对应存在redis或者什么里面,只是每次你都要自己传递这个sessionId给服务端校验,而cookie在请求的时候就会被发送给服务端,省去了你自己操作的麻烦,而且还有一些保护机制,省的你自己去实现

不用cookie,服务器不知道你是谁,就没法把session里的数据给你用。 当然不用cookie,可以传参数,如楼上@luoyjx 所说的。

回到顶部