cookie-parser和express-session中间件使用
cookie-paeser中间件简介
cookie-parser是Express的中间件,用来实现cookie的解析。为了方便操作客户端的cookie值。相当于服务端将信息存在cookie里面,那么客户端可以通过cookie获取值。比如cookie一般用来记录用户的登录信息。
cookie的特点:1.保存到客户端,容易被篡改(删除禁用)2.保存的数据量有限 3.简单易用
由于http协议是一种无状态的协议(客户端和服务端互相不认识)cookie就是一个简单到爆思路:当客户端访问服务器时,服务器生成一个票据给客户端,当客户端收到票据之后,保存起来;以后客户端每次访问服务器的时候,都需要携带着这个票据。
cookie的执行原理:当客户端访问服务时候(服务运用了cookie),则服务器会生成一分cookie返回给客户端,客户端会自动保存起来;以后客户端每次访问服务器,都会自动携带这份cookie
安装 npm i cookie-parser
var cookieparser=requore('cook-parsear');
传参:app.use(cookieparser('value'))
生成cookie:res.cookie('key''.'value',option)
取出:cookie:req.cookies;
加密存储:res.cookie('mycode','abc'){singned:true}
删除:res.cookie('username','zhangsan',{maxAge:0})
如何获取cookie
注意是req去做设置
(1)获取没加密的cooki
req.cookies.username
req.cookies.xxx
2)获取加密的cookie
req.signedCookies.username
req.signedCookies.xxx
express-session中间件简介
客户端通过cookie来取值,服务端通过session.
session是服务器记录用户状态信息技术,当客户端首次请求服务器时,服务器会为该客户端创建一个唯一的对象,称之为session对象即是session存cookie的过程
session是一种特殊的cookie。cookie是保存在客户端的,而session是保存在服务端。
当客户端第一次请求服务器时,服务器生成一份session保存在服务端,将该数据session的id以cookie的形式传递给客户端;以后每次请求,浏览器都会自动携带cookie来访问服务器(session数据id)。
cookie和session的区别:cookie是保存在客户端的 session是保存服务端 session更安全
安装:npm iexpress-session
引入session中间件
let expresssession=require('express-session')
使用session中间件
app.use(exprseesession({
resave:true,
savuninitalized:true,
secert:"xiaoxuesheng" }))
使用session存储数据:req.session.youcode='xyz'
取出session数据:req.session
浙公网安备 33010602011771号