服务端session理解和使用
session
是在服务端存在的一种记录客户状态的机制,当客户浏览器访问服务端时,服务端去session中查找客户状态.
session相当于在服务端建立了一份客户状态表
使用场景
我们登录了一次,刷新网页后,仍然是登录状态,这就用到了session,刷新后浏览器去服务端访问,服务端查询session,找到客户的状态
使用场景实现代码
环境准备:
node,express,cookie-session用于服务端session
npm install cookie-session
node中的代码:
//app.js var cookiesession=require('cookie-session'); //session和cookie配置信息 app.use(cookiesession({ name:'di', secret:'suibianxie', maxAge:60*24*24*1000, cookie:{ maxAge:60*24*24*1000 } }))
//处理请求的文件controll/index.js //一旦配置过cookie-session,会自动给所有req参数添加上session方法 const loginInfo=async function(req,res){ //自定义设置session的属性和属性值 req.session.user=data.user_info return res.send(data); }
客户端操作:
客户端登录一次后,会在服务端存储对应的session,服务端会生成cookie传递给客户端,之后的每次请求服务端都会通过session来校验用户身份(session校验用户身份由服务端完成,我们无须操作)
我们第一次登录去发送http请求会在响应头中看到set-cookie,这是服务端生成了cookie传递给前端,cookie中包含了客户的sessionID.如下图是第一次登录数据.之后的每次请求都会在请求头中携带这个cookie
开源中国博客地址:https://my.oschina.net/u/2998098/blog/1540520

浙公网安备 33010602011771号