session和cookie的区别

本文介绍了session和cookie的相关知识。session是服务端存储数据的对象,对其操作是基本对象操作,往session存数据会写到客户端cookie中。cookie是客户端存储数据的对象,存储的是session对象。还介绍了koa2中使用session的第三方中间件koa - session的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

session
  • sesion是服务端存储数据,session也是一个对象。对session 的操作,就是基本的对象操作。读value 添加 key:value

  • 使用方式
    在哪使用:接口中。
    1:往session 中存数据 ctx.session.属性 = js数据类型(除了函数)
    对客服端而言,ctx.session 是“写”的过程,写到客户端cookie中

cookie
  • cookie 是客户端存储数据 cookie,cookie 也是一个对象 存储的是session对象

cookie 对象描述:

  • key 为session中名字 (在服务端配置session信息时候设置的)
  • value 为session存储的数据 (在服务端操作session时,添加)
  • session与cookies关系
  • coolies 的value 为session 存的内容,过程经过了请求与响应

通过cookies 与session存储数据;可以知道当前登录的是哪个用户

koa-session
  • 在koa2 中使用session 的第三方中间件

导入

  • 配置session
  • 挂在到应用中间件中
  • 使用session对象存数据(在接口中)
const session = require('koa-session');
// 通过任意字符串为基准进行加密算法的字符串  base64
// keys 作用在cookie 的value值时加密后的内容 
app.keys = ['some secret hurr'];
 
const CONFIG = {
  key: 'koa:sess',  // 设置 session的名字 也是cookie中key
  maxAge: 86400000,
  autoCommit: true,
  overwrite: true, 
  httpOnly: true, // 是否允许客户端操作cookies true:不允许 false 允许
  signed: true, // 数字签名,保证数据不被修改
  rolling: false, // 过期时间访问顺延,指的是数据存储过期后;时候否继续加时间 false 不顺延  true 顺延
  renew: false, 
};

app.use(ctx => {
  // 使用session 存储数据
  ctx.session.views = ++n;
});

app.use(session(CONFIG, app));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值