cookie : 在浏览器中保存数据 每次请求都会带过来 不安全 有限的,只有4k
session 保存数据,保存在服务器端 相对较安全;
session实现:基于cookie实现的,不能独立存在 cookie中会有一个session的id,服务器就是利用这个session id找到session文件,实现读取,写入
session 隐患:session id是在cookie中的,所以成为一个隐患,这种隐患称为session劫持
cookie:
1.cookie空间非常小——省着用
2.安全性非常差
a.发送cookie
//最简单的写法
res.cookie("user","bule");
res.secret='字符串'; //秘钥 一般存在服务器端
// path 设置哪个路径下可以访问这个cookie
// maxAge:最大的过期时间
// signed:是否签名,true:会将value加密
res.cookie(名字, 值, {path: '/', maxAge: 毫秒, signed: true});
b.读取cookie
cookie-parser
// 秘钥可以不填
server.use(cookieParser('秘钥'));
server.use(function (){
req.cookies 未签名版
req.signedCookies 签名版
});
c.删除cookie
res.clearCookie(名字);
session: 不能独立存在,基于cookie
server.use(cookieParser('签名字符串'));
server.use(cookieSession({
}));
server.use(function (req, res){
res.cookie(名字, 值, {signed: true});
res.cookies['user']
res.clearCookie('名字');
res.session['xxx']
delete res.session['xxx'];
});
网友评论