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

  • 优点
    • 可以是任何格式
    • 存储量理论上是无限的
    • 数据难以被获取
    • 数据难以篡改
    • 不易丢失
  • 缺点
    • 占用服务器资源
相关推荐
秋沐几秒前
vue中的slot插槽,彻底搞懂及使用
前端·javascript·vue.js
翔云API5 分钟前
身份证识别接口的应用场景和作用
运维·服务器·开发语言·自动化·ocr
QGC二次开发7 分钟前
Vue3 : Pinia的性质与作用
前端·javascript·vue.js·typescript·前端框架·vue
学java的小菜鸟啊18 分钟前
第五章 网络编程 TCP/UDP/Socket
java·开发语言·网络·数据结构·网络协议·tcp/ip·udp
立黄昏粥可温22 分钟前
Python 从入门到实战22(类的定义、使用)
开发语言·python
PerfMan25 分钟前
基于eBPF的procstat软件追踪程序垃圾回收(GC)事件
linux·开发语言·gc·ebpf·垃圾回收·procstat
聆听HJ34 分钟前
java 解析excel
java·开发语言·excel
溪午闻璐37 分钟前
C++ 文件操作
开发语言·c++
环能jvav大师1 小时前
基于R语言的统计分析基础:使用SQL语句操作数据集
开发语言·数据库·sql·数据分析·r语言·sqlite
吱吱鼠叔1 小时前
MATLAB方程求解:1.线性方程组
开发语言·matlab·php