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是保存到客户端的,容易被篡改(删除,禁用),

  同时保存的数据量是有限的

express-session

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是保存在服务器端

  • session更加安全

 

 

posted @ 2021-12-28 20:12  康水  阅读(32)  评论(0)    收藏  举报