Cookie 和 Session 区别
1、cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
2、cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗 考虑到安全应当使用 session。
3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用 COOKIE。
4、单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。
1.安装 koa-session
npm install koa-session --save
2.引入 koa-session
const session = require('koa-session');
3.设置官方文档提供的中间件
app.keys = ['some secret hurr']; //cookie签名
const CONFIG = {
key: 'koa:sess', //cookie is key
maxAge: 86400000, // cookie 的过期时间 默认一天 ms
overwrite: true, //是否可以 overwrite
httpOnly: true, //cookie 是否只有服务器端可以访问
signed: true, //签名默认 true
rolling: false, //在每次请求时强行设置 cookie,这将重置 cookie 过期时间(默认:false)
renew: true, //快过期的时候配置过期时间 需要修改 默认false
};
app.use(session(CONFIG, app));
4.使用
设置值 ctx.session.username = "张三";
获取值 ctx.session.username