cookie session
cookie-parser
由于http协议是一种无状态协议(通俗讲就是客户端与服务端相互不认识)
简单介绍一下cookie的用法
第一步应该先去安装,
可以在电脑cmd里面去安装,同时也可以在visual studio code 里面去安装下载
下载安装命令也很简单
npm i cookie-parser
通过 cookie-parser 中间件,我们就可以很方便的使用cookie。
使用:
var cookieParser = require('cookie-parser');
app.use(cookieParser()); //使用cookie-parser
生成coodie
//设置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
当然任何东西都是有利有弊的,而coodie也不例外
利端:
cookie它简单好用,
弊端:
cookie是保存到客户端的,容易被篡改(删除,禁用),
同时保存的数据量是有限的
session是一种特殊的cookie。cookie是保存在客户端的,而session是保存在服务端的。
当客户端第一次请求服务器的时候,服务器生成一份session保存在服务端,将该数据(session)
的id以cookie的形式传递给客户端,每次请求,浏览器都会自动的携带cookie来访问服务器
(session数据id)
安装:
npm i express-session
使用:
//引入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);
cookie和session的区别:
-
cookie是保存在客户端的
-
session是保存在服务器端
-

浙公网安备 33010602011771号