当前位置:网站首页 > Node.js开发 > 正文

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

在这里插入图片描述

到此这篇Node学习(九)065-会话技术简介之cookie和session的优缺点——cookie-优点是节省服务器空间,缺点不安全 & session-优点是安全,缺点需要服务器空间 & 语法之设置和获取的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Node学习(九)07-使用验证码——必须登录才能访问页面 & 模糊搜索的时候重置分页页码2024-12-02 11:18:06
  • Node.js 网络通信(一)——网络通信相关概念、网络七层模型、mac 地址之ip地址、Port 端口号、域名 & TCP-传输控制协议、UDP-用户数据报协议、Socket套接字2024-12-02 11:18:06
  • Node.js 网络通信(二)01-构建TCP服务——TCP全名为传输控制协议,属于传输层协议,如http协议 & 显著特征是在传输之前需要三次握手形成会话 & Socket通信模型2024-12-02 11:18:06
  • Node.js 网络通信(二)02-构建UDP服务——UDP简介 & UDP三种传播方式-单播、广播、组播 & UDP一对多通信场景 & dgram模块用于构建UDP服务之Socket方法和事件2024-12-02 11:18:06
  • Node.js网络通信(三)——构建http服务之创建http服务、根据url处理响应、响应html内容、处理页面中的静态资源、使用模版引擎& 构建https服务之原理、CA证书、搭建https服务器2024-12-02 11:18:06
  • Node学习(九)064-会话技术简介之session的设置和获取——设置与获取之express-session模块& session有效期& 删除session& cookie和session的原理2024-12-02 11:18:06
  • Node学习(九)063-会话技术简介之cookie的设置和获取——会话控制的分类之cookie-保存客户端(浏览器)、session-保存服务器 & cookie的设置与获取 & cookie有效期2024-12-02 11:18:06
  • Node学习(九)061-管理系统之登录和注册——md5加密 & 前端注册成功跳转登录页 & 前端登录成功跳转首页 & node服务器之post接口写法2024-12-02 11:18:06
  • Node学习(九)023-管理系统之添加英雄——文件上传-multer第三方模块之multer简介、multer配置、multer使用 & 使用myupload.single() 方法作为接口的中间件2024-12-02 11:18:06
  • Node学习(八)02-Node中的模块化——用module.exports实现模块化-封装并导出db.js模块之mysql增删改查& 步骤之连服务器、键值照应、封装导出模块、导入模块并打印服务器数据2024-12-02 11:18:06
  • 全屏图片