1,cookie的特点
保存到客户端,容易被篡改(删除、禁用),保存的数据量有限的,简单易懂好用
由于HTTP是一种无状态的协议,服务器单从网络连接上无法知道客户身份。而cookie刚好提供了一个方法,就是给每个客户端发一个通行证,然后客户端通过拿着这个通行证来访问服务器,而服务器就可以通过通行证来确认客户端信息。这就是cookie的作用。
由于cookie是个第三方中间件,我们可以通过cookie-parser中间件,很方便的使用cookie。
1,安装
npm i cookie--parser
2,使用
let cookieParser = require('cookie-parser');
app.use(cookieParser());
//在请求中通过res.cookie()生成通行证
res.cookie('key','value');
//取出cookie req.cookies
req.cookies.key;
2,session
如何创建和获取 Session。首先引入express-session这个第三方中间件
let expressSession = require('express-session');
app.use(expressSession({
resave: true, //每次是否都刷新存储器
saveUninitialized: true,
secret: 'xiaoxuesheng', //密钥
}))
使用方法
//在请求中通过 req.session 存储
req.session.mycode = 'abc'; //使用session来存储
//通过req.session 取出
let mycode = req.session.mycode; //取出存储的session
cookie与session的区别
1,cookie是保存在浏览器上,而session是保存在服务器上。
2,cookie存储的数量和字符数量都有限制。
3,cookie存储在用户浏览器里,不安全,任何人都能直接查看。
4,session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能。
5,session更加安全