1. cookie-parser
1.1 cookie的执行原理:当客户端访问服务器的时候(服务运用了cookie),则服务器会生成一份cookie传输给客户端,客户端会自动把cookie保存起来;以后客户端每次访问服务器,都会自动的携带着这份cookie。
1.2 cookie的特点:
(1)保存到客户端,容易被篡改(删除、禁用)
(2)保存的数据量有限的
(3)简单易懂好用
1.3cooke的使用:
(1)安装:npm i cookie-parser
(2)使用:
案例:
先引用:var cookieParser = require('cookie-parser');
app.use(cookieParser());//使用cookie-parser
生成cookie:
//设置cookie
//在响应的时候,生成一份cookie
// res.cookie('xxcode',"abc");
取出cookie:
console.log(req.cookies);
加密cookie:
var cookieParser = require('cookie-parser');
app.use(cookieParser("xiaoxuesheng"));//签名 (加密) 指定秘钥 "xiaoxuesheng"
//使用cookie
//加密存储
res.cookie("mycode","abc",{
signed:true //加密
})
//取出cookie
2. express-session
session是一种特殊的cookie。cookie是保存在客户端的,而session是保存在服务端。
当客户端第一次请求服务器的时候,服务器生成一份session保存在服务端,将该数据(session)的id以cookie的形式传递给客户端;以后的每次请求,浏览器都会自动的携带cookie来访问服务器(session数据id)。
2.1 安装:npm i express-session
2.2 使用:
//引入session中间件
let expressSession=require("express-session")
//使用session中间件
app.use(expressSession({
resave:true,//每次是否都刷新存储器
saveUninitialized:true,
secret:"xiaoxuesheng" //秘钥
}))
代码示例:
使用session存储数据:
//将数据存储到session中
req.session.yourcode='xyz';
取出session数据:
//取出存储的session
console.log(req.session);
2.2 cookie 与session的区别:
(1)cookie是保存在客户端的
(2)session是保存在服务器端的
(3)session会更加的安全可靠