- Overview
-
在服务器端保存一些数据便于识别用户
可看做数据存储的一种机制
确保挂在所有路由定义之前
会话失效:存的数据不会丢失,只是小票失效了,无法访问
大小:不限制
基于 cookie 实现,而 cookie 保存在浏览器端,存在 session 劫持风险
Node 每次服务重新启动都会导致原来 session 丢失
- Deployment
-
1. 安装依赖
npm i express-session --save
2. 声明
server.use(session({
//必填
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
// cookie: {
// secure: true
// }
}))
3. 查看
network → response header
application → session
- Usage
-
setItem(key,value)
getItem(key)
- [] 记住用户的浏览记录
-
用户浏览商品时,记住当前浏览的系列 id;如果页面刷新,则根据保留的 id 重新加载数据,否则加载第一条记录
要求用户每次切换不同的系列时,除了加载数据还要保存当前 id 到 session
loadDate(session.getItem('seriesId')|| 0)
const loadDate = (seriesId) => {
session.setItem('seriesId', seriesId)
// 获取数据
// 渲染数据
// 保存数据
}