Cookies 和Session认证机制

cookie和session的关系是什么:

Cookie和Session都是Web开发中常用的技术,它们在用户登录、认证、跟踪等方面起着重要作用。

Cookie是在客户端(浏览器)保存数据的一种机制,通过在HTTP响应头中设置Set-Cookie字段,服务器可以让浏览器保存一些数据,下次请求时再发送给服务器。通常情况下,我们会使用Cookie来保存一些用户状态信息,例如用户ID、登录凭证、语言偏好等。

Session则是在服务端保存数据的一种机制,通常将一个随机生成的session ID存储在Cookie中,当用户发起请求时,服务器通过该session ID来查找对应的session数据,从而实现跨请求的数据共享。在一个session中,我们可以保存一些与用户相关的信息,例如购物车数据、用户配置等。

因此,可以说Cookie和Session是密切相关的,通常情况下,我们会使用Cookie来保存session ID,然后通过session ID来获取和修改session数据。同时,由于Cookie存在于浏览器中,不同的标签页或窗口之间也可以共享相同的Cookie,因此它可以被用来实现一些多页面之间的状态传递和同步。

express-session写session中间件

const session = require("express-session")
app.use(session({
    secret:"itheima",
    resave: false,
    saveUninitialized:true
}))

在 Express.js 框架中,express-session 是用于管理用户会话的中间件。

resave: false 表示会话不会在每次客户端请求时都保存,只有在会话数据发生更改时才会进行保存。这有助于减轻服务器负载并优化性能。

saveUninitialized: true 表示即使还没有向该会话添加任何数据,服务器也会创建一个会话。这在你想为匿名用户存储会话数据时非常有用,例如为刚访问你的网站而没有登录的用户存储购物车信息。如果设置为 false,则只有在添加数据时才会创建会话,这有助于节省服务器资源。

session认证的局限性:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值