服务端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

 

posted @ 2020-04-28 23:42  知了呀  阅读(755)  评论(0)    收藏  举报