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

  • 优点
    • 可以是任何格式
    • 存储量理论上是无限的
    • 数据难以被获取
    • 数据难以篡改
    • 不易丢失
  • 缺点
    • 占用服务器资源
相关推荐
hh随便起个名2 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
小浣熊熊熊熊熊熊熊丶2 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
啃火龙果的兔子3 小时前
JDK 安装配置
java·开发语言
星哥说事3 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
我是小路路呀3 小时前
element级联选择器:已选中一个二级节点,随后又点击了一个一级节点(仅浏览,未确认选择),此时下拉框失去焦点并关闭
javascript·vue.js·elementui
等....3 小时前
Miniconda使用
开发语言·python
zfj3213 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
醇氧3 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop3 小时前
Aes加密 GCM java
java·开发语言·python
weixin_462446233 小时前
使用 Go 实现 SSE 流式推送 + 打字机效果(模拟 Coze Chat)
开发语言·后端·golang