一、cookie
HTTP协议是一种无状态协议,session和cookie都是用于记录会话状态的两种技术。
cookie:
cookie将用户信息存储在客户端
cookie登录demo流程:
1、用户发起登录请求
2、服务器端进行响应
3、客户端接收到数据,并将相应的数据存储到cookie文件
4、之后每一次请求都将带上cookie文件
cookie的使用:
document.cookie返回cookie存储的信息(键值)
二、session
session:
session也是保存会话状态的一种技术,它的数据是存储在服务器端,但是它需要结合cookie一起使用。
session与cookie的区别:
1、HTTP协议是一种无状态协议,session和cookie都是用于记录会话状态的两种技术。
2、session是将数据存储在服务端,相对来说比较安全,且session需要和cookie结合使用,需要消耗服务端的性能。
3、cookie是将数据存储到客户端,相对来说不安全,但是不消耗服务端的性能。
如何使用session:
1、下载
npm install express-session
npm install cookie-parser
2、引用
const session = require('express-session');
const cookieParse = require('cookie-parser');
3、配置
app.use(cookieParser());
app.use(session({
name: "test", //这里的name值是cookie的
secret: "8888",
cookie: {
maxAge: 8000000 //单位:毫秒
},
rolling: true, //更新session-cookie失效时间,默认false
resave: true //重新保存
//每次请求,重新配置session与cookie,假设你的cookie是10分钟过期,每次请求都会再设置10 分钟
})); //session相关的配置
4、使用
req.session.名称;
req.session.名称 = 值; //原始类型,引用类型
方法:
Session.destroy(); //删除session,当检测到客户端关闭时调用
Session.reload(); //当session有修改时,刷新session
Session.regenerate(); //将已有session初始化
Session.save(); //保存session