老师关于 session和cookie的生成我还是有点困惑。

老师关于 session和cookie的生成我还是有点困惑。

因为在app.js中配置了session和cookie

app.keys = ['wertwe^&&*UUI123123'// 秘钥

// 自定配置了 cookie 和 session

app.use(session({

  // 配置 cookie

  cookie: {

    path: '/'// cookie 在根目录下有效

    httpOnly: true// cookie 只允许服务端来操作

    maxAge: 24 * 60 * 60 * 1000 // cookie 的过期时间

  }

}))

这一步是不是,表示cookie两个关联到了一起?


所以ctx.session.userInfo  这异步创建的时候同时创建了一个cookie(它自动有了id=123)和一个session({123:{user}})并且自动对应起来了。


那在一个域中,如果同时ctx.session.xxx 存在多个,那是不是会要通过

const session1=ctx.session.xx1


const session2=ctx.session.xx22


不然是不是就没有办法区分开了呢?特别是 如果和我猜想的一样的cookie(它自动有了id=xxx)和session{xxx:{user}})同时创建的话,cookie会存在后面把前面覆盖的情况

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,对于你的问题解答如下:

1、理解是对的

http://img1.sycdn.imooc.com//climg/608b73060916dc1a06810069.jpg

2、因为session和cookie对应起来了,所以修改session时,会自动修改与之对应的cookie。

例如: ctx.session.viewcount++ 修改了session,也会修改与之对应的cookie

http://img1.sycdn.imooc.com//climg/608b73130992fc3906550102.jpg

祝学习愉快~

  • 期限_ #1

     ctx.session.viewcount++ 修改了session,也会修改与之对应的cookie

    老师这句话怎么理解? cookie存储的不是用户标识吗,这个可以被修改吗?

    2021-06-10 10:14:24
  • ​同学你好,对于你的问题解答如下:

    1、cookie存储的是用户标识,可以被修改,但是一般情况下不会修改,也不需要去修改它。

    2、“ ctx.session.viewcount++ 修改了session,也会修改与之对应的cookie”这句话中 “修改与之对应的cookie主要是指:修改该用户标识下对应的数据。

    祝学习愉快~

    2021-06-10 14:02:55
好帮手慕星星 2021-04-29 20:09:47

同学你好,问题解答如下:

1、这一步是将cookie和session关联到一起

http://img1.sycdn.imooc.com//climg/608a927109a14e2005310370.jpg

每次修改session时,cookie也会修改。

2、是的,session是一个对象,可以这样设置多个来进行扩展信息

http://img1.sycdn.imooc.com//climg/608a9ab10964263905990152.jpg

3、不同用户有自己的ctx,有自己的session,一个并不会覆盖另一个的。

不知道同学是不是这个意思,如果不是这样的话,建议描述清楚一些覆盖什么?便于帮助解决。

祝学习愉快!

  • 提问者 weixin_慕丝2377090 #1

    谢谢老师解答,所以是不是可以理解ctx.session.xx1,都创建了一对特定的Cookie和session呢?只要ctx.session打点的xx1是一样的就是同一组的Cookie和Session对吗?

    还有老师在第一条里面所说:每次修改session时,cookie也会修改。是什么意思啊?

    比如上节课中ctx.session.viewcount++是不是也属于修改了Session中某一个cookie标识符对应属性的值。那这个时候Cookie会怎么修改呢?还是不修改啊

    2021-04-30 07:33:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师