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

  • 优点
    • 可以是任何格式
    • 存储量理论上是无限的
    • 数据难以被获取
    • 数据难以篡改
    • 不易丢失
  • 缺点
    • 占用服务器资源
相关推荐
是翔仔呐19 小时前
C语言从黑框框到控硬件!51单片机零基础保姆式全系列教程 开篇前言+全书总览
c语言·开发语言·单片机·嵌入式硬件·gitee·51单片机
SuniaWang19 小时前
《Spring AI + 大模型全栈实战》学习手册系列·专题一:《RAG技术全景解析:从原理到架构设计》
java·javascript·人工智能·spring boot·后端·spring·架构
java1234_小锋19 小时前
Java高频面试题:Spring是如何解决Bean的循环依赖?
java·开发语言·spring
历程里程碑20 小时前
43. TCP -2实现英文查中文功能
java·linux·开发语言·c++·udp·c#·排序算法
Irene199120 小时前
通过JavaScript创建新的img元素并指定onload事件,为什么要在赋值src属性之前指定事件处理程序?
javascript
你这个代码我看不懂20 小时前
Java软引用对象的创建以及对象回收
java·开发语言
qq_4176950520 小时前
C++中的中介者模式
开发语言·c++·算法
xiangpanf20 小时前
PHP爬虫框架:Goutte vs Panther
开发语言·c++·vue.js·php
~无忧花开~20 小时前
React元素渲染:核心概念全解析
开发语言·前端·javascript·react.js
qq_2837200520 小时前
nestjs实战(六):诺依Nest.js + MySQL 项目改造为兼容达梦8数据库详细教程
javascript·数据库·mysql·达梦·nest.js·诺依