cookie-parser与express-session
1.cookie的执行原理:当客户端访问服务器时,则服务器会生成一份cookie传输给客户端,客户端会自动把cookie保存起来;以后客户端每次访问服务器,都会随身携带cookie
1.1.cookie-parser的使用方法
(1)先安装 npm i cookie-parser
(2)在使用 var 变量名 = require('cookie-parser') 引入
(3)在app.js文件中使用 app.use(cookieParser());//使用cookie-parser
(4)生成cookie:
①设置cookie
②在响应的时候,生成一份cookie(票据)
③res.cookie('xxcode',"abc");
(5)取出cookie:console.log(req.cookies)
(6)加密cookie:
var cookieParser = require('cookie-parser');
app.use(cookieParser("xiaoxuesheng"));指定密匙
cookie的弊端 :保存到客户端容易被修改和删除,保存数据的数量有限
cookie的好处:简单易懂好用
2.express-session:session是一种特殊的cookie。cookie是保存在客户端的 ,而session是保存在服务端的
session的执行原理:当客户端第一次请求服务器的时候,服务器会生成一份session保存在服务端,会把该数据的session(id)以cookie的形式传递给客户端,以后每次请求浏览器都会自动把随身携带的cookie来访问服务器(session的id)
session 运行在服务器端,当客户端第一次访问服务器时,可以将客户的登录信息保存。
2.1 express-session的使用方法
(1)先安装 npm i express-session
(2)在使用let 变量名=require("express-session")引入
(3)在app.js文件中使用session中间件
app.use(expressSession({
resave:true,//每次是否都刷新存储器
saveUninitialized:true,
secret:"xiaoxuesheng" //秘钥
}))
使用session存储数据 req.session.yourcode = 'qqq'
取出session数据 console.log(req.session)
session的好处:session是保存在服务器端的 更加安全
cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
浙公网安备 33010602011771号