session
session是另一种记录客户状态的机制,与Cookie的区别是Cookie保存在客户端浏览器中,而session保存在服务器上。
当浏览器访问服务器并发送第一次请求时,服务器端会创建一个 session 对象,生成一个类似于 key,value 的键值对, 然后将 key(cookie)返回到浏览器(客户)端,浏览器下次再访问时,携带 key(cookie),找到对应的 session(value)。客户的信息都保存
在 session 中。
安装
1 | npm install koa-session --save |
配置
1 | const session = require('koa-session'); |
使用
1 | ctx.session.username = "张三"; //设置值 |
Cookie 和 和 Session 区别
- cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
- cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗考虑到安全应当使用 session。
- session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用 COOKIE。
- 单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。