前言:cookie和session有着千丝万缕的联系
1.存储位置不同:
cookie的数据信息存放在客户端浏览器上。
session的数据信息存放在服务器上。
2.存储容量不同:
单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie。
对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东 西,并且设置session删除机制。
3.存储方式不同:
cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据。
session中能够存储任何类型的数据,包括且不限于string,integer,list,map等。
4. 隐私策略不同:
cookie对客户端是可见的,别有用心的人可以分析存放在本地的cookie并进行cookie欺骗,所 以它是不安全的。
session存储在服务器上,对客户端是透明对,不存在敏感信息泄漏的风险。
而在后端数据交互中,cookie和session的获取和使用有某些区别:
cookie:下载 npm i cookie-parser
//引入cookie
let cookieParser = require('cookie-parser');
//
app.use(cookieParser("xiaoxuesheng"));//签名,加密
这是我们在引入cookie模板
express-session
session是一种特殊的cookie。cookie是保存在客户端的,而session是保存在服务端。
安装:npm i express-session
使用:引入
//引入session中间件
let expressSession=require("express-session")
//使用session中间件
app.use(expressSession({
resave:true,//每次是否都刷新存储器
saveUninitialized:true,
secret:"xiaoxuesheng" //秘钥
}))
注释:session初始是没有,需要存储,之后再取出
1)使用session存储数据:
//将数据存储到session中
req.session.yourcode='zhangsan';
2)取出session数据:
//取出存储的session
console.log(req.session);