NodeJs 第十五章 session

Session代表服务器和客户端一次会话的过程。

在计算机科学领域来说,尤其是在网络领域,会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,session在网络协议(例如telnet或FTP)中是非常重要的部分。

session 原理示意图

如何在express中使用 session

我们可以使用 express-session 中间件进行 session操作

javascript 复制代码
const express = require("express");
const app = express();
const port = 5008;

const session = require("express-session");

app.use(
  session({
    secret: "aXin_li",
    name: "sessionid",
  })
);

app.listen(port, () => {
  console.log(`server listen on ${port}`);
});

Cookie与Session的区别

Cookie

  • 优点
    • 存储在客户端,不占用服务器资源
  • 缺点
    • 只能是字符串格式
    • 存储量有限
    • 数据容易被获取
    • 数据容易被篡改
    • 容易丢失

Session

  • 优点
    • 可以是任何格式
    • 存储量理论上是无限的
    • 数据难以被获取
    • 数据难以篡改
    • 不易丢失
  • 缺点
    • 占用服务器资源
相关推荐
sali-tec10 分钟前
C# 基于halcon的视觉工作流-章32-线线测量
开发语言·人工智能·算法·计算机视觉·c#
草字25 分钟前
css flex布局,设置flex-wrap:wrap换行后,如何保证子节点被内容撑高后,每一行的子节点高度一致。
前端·javascript·css
little_xianzhong32 分钟前
Java 日期字符串万能解析工具类(支持多种日期格式智能转换)
java·开发语言
Dersun44 分钟前
python学习进阶之异常和文件操作(三)
开发语言·python·学习·json
我好喜欢你~44 分钟前
C#---Expression(表达式)
开发语言·c#
局i1 小时前
ES6 类与继承:现代 JavaScript 面向对象编程
前端·javascript·es6
Tiger_shl1 小时前
【.Net技术栈梳理】01-核心框架与运行时(CLR)
开发语言·.net
夏天19951 小时前
React:聊一聊状态管理
前端·javascript·react.js
鹏多多1 小时前
vue的监听属性watch的详解
前端·javascript·vue.js
Tiger_shl1 小时前
【.Net技术栈梳理】02-核心框架与运行时(GC管理)
开发语言·.net