session介绍
session 是另一种记录客户状态的机制
与Cookie不同的是
Cookie 保存在客户端浏览器中
session 保存在服务器上
cookie 不是很安全,别人可以修改网页源代码绕过验证
session当访问增多,会比较占用你服务器的性能 为了性能可使用cookie
单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。
当客户端第一次请求服务器的时候,服务器生成一份session保存在服务端,将该数据(session)的id以cookie的形式传递给客户端;以后的每次请求,浏览器都会自动的携带cookie来访问服务器(session数据id)。
session运行原理图
session的使用
安装
npm i express-session
引入
在app.js下引入session中间件
使用session中间件
app.use(expressSession({
resave:true,//每次是否都刷新存储器
saveUninitialized:true,
secret:"xiaoxuesheng" //秘钥
}))