Node学习(九)065-会话技术简介之cookie和session的优缺点——cookie-优点是节省服务器空间,缺点不安全 & session-优点是安全,缺点需要服务器空间 & 语法之设置和获取

Node学习(九)065-会话技术简介之cookie和session的优缺点——cookie-优点是节省服务器空间,缺点不安全 & session-优点是安全,缺点需要服务器空间 & 语法之设置和获取

5、cookie和session的优缺点

  • cookie:优点是节省服务器空间,缺点不安全。
    • 安全性要求不高的,使用cookie
    • 视频看到什么位置等
  • session:优点是安全,缺点需要服务器空间。
    • 安全性要求高的,使用session

8.5 cookie和session

示例

在这里插入图片描述

  • Cookie:
    • 设置cookie
      • res.set({‘set-cookie’, ‘aaa=xxx’}); // 设置一个cookie
      • res.set({‘set-cookie’, [‘aa=xx’, ‘bb=yyy’]}); // 设置多个cookie
      • res.set({‘set-cookie’, [‘aa=xx;expires=世界时间’, ‘bb=yyy’]});
    • 获取cookie
      • req.headers.cookie
  • Session:

    • 配置

      const session = require('express-session');
      
      app.use(session({ 
          secret: 'ad325sdfjl23', // 加密的串。随意定义
          cookie: { maxAge: 60000 }, // 过期时间,单位毫秒。目前过期时间是1分钟
          resave: false,
          saveUninitialized: false
      }));
      
    • 设置session

      req.session.名字 =;
      
    • 获取session

      req.session.名字
      
cookie实例-图例

安包

npm i express

app.js

// 加载express
const express = require('express');
// 创建app对象
const app = express();
// 监听端口,开启服务
app.listen(3000, () => console.log('服务启动了'));

app.get('/test1', (req, res) => {
    // 设置cookie
    // 这里设置一个变量
    let vcode = '2N9i';
    // res.setHeader('Set-Cookie', 'yzm='+vcode);
    let time = new Date(Date.now() + 60000*2).toUTCString();
    res.set({
        // 'set-cookie': 'yzm=aaaa'
        'set-cookie': ['age=20;expires=' + time, 'name=zs', 'sex=f']
    });
    res.send('设置成功');
});

app.get('/test2', (req, res) => {
    // 获取cookie
    // 下面的这个接口能否使用上面接口定义的变量
    console.log(req.headers.cookie);
    res.send('获取成功');
});

app.get('/test3', (req, res) => {
    // 获取cookie
    // 下面的这个接口能否使用上面接口定义的变量
    console.log(req.headers.cookie);
    res.send('获取成功');
});

运行命令

nodemon ./app.js
#或者
node ./app.js

图例

1

在这里插入图片描述

2.1

在这里插入图片描述

2.2

在这里插入图片描述

2.3

在这里插入图片描述

3

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值