NodeJs 第十五章 session

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

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

session 原理示意图
在这里插入图片描述

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

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

  • 优点
    • 可以是任何格式
    • 存储量理论上是无限的
    • 数据难以被获取
    • 数据难以篡改
    • 不易丢失
  • 缺点
    • 占用服务器资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/326545.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

性能篇:List集合遍历元素用哪种方式更快?

嗨大家好,我是小米!今天给大家分享一篇关于Java集合框架性能的文章,话题是:“如果让你使用 for 循环以及迭代循环遍历一个 ArrayList,你会使用哪种方式呢?原因是什么?LinkedList呢?”…

Linux系统——yum仓库及NFS共享

目录 一、yum仓库 1.yum简介 2.yum实现过程 3.如何实现安装服务 4.yum配置文件及命令 4.1yum配置文件 4.1.1主配置文件 4.1.2仓库设置文件 4.1.3日志文件 4.2yum命令详解 4.2.1查询 4.2.2yum安装升级 4.2.3软件卸载 4.2.4操作安装历史记录 5.搭建本地yum仓库 5…

程序员晋升管理者后的自我修养

谈到技术管理,首要的一点就是管理者的角色认知问题,因此本篇文章的主要内容就是如何增强管理者的角色认知,持续提升自我管理能力。 作为管理者,首要任务就是要认清自我并管理好自己,要树立对管理者角色的正确认知&…

导航与定位技术已成为移动机器人的核心技术之一

随着移动机器人技术的不断发展和应用领域的扩大,导航与定位技术已成为移动机器人的核心技术之一。本文将介绍移动机器人导航与定位技术的发展现状、技术前沿和面临的挑战。 ​ 一、导航与定位技术的发展现状 移动机器人的导航与定位技术是实现自主移动的关键。目前…

AI魔幻巨制电影《权力的游戏:重生之战》

AI魔幻巨制电影《权力的游戏:重生之战》 《冰与火之歌》龙妈雪诺后裔是谁?你相信龙族的力量可以改变维斯特洛大陆的命运吗? 在《权力的游戏:重生之战》中,维斯特洛大陆再次陷入混乱之中,但这一次的混乱并非…

dolphinscheduler部署排错记录

dolphinscheduler部署至K8S集群上的遇到的坑 问题 问题出现场景: ​ 在部署完ui, worker, master, api四个模块之后,随手建了一个工作流,点击运行的时候,在master节点上出现这个报错。 猜测原因 发送方发送的消息和接收方接收…

AI嵌入式K210项目(3)-GPIO控制

文章目录 前言一、背景知识二、背景知识二、开始你的表演代码实现 总结 前言 前面介绍了开发板和环境搭建的基本情况,接下来我们开始学习使用C进行裸板开发,本节课先来学习下K210最基础的功能,引脚映射和点灯。 在开始具体学习之前&#xff…

使用python连接elasticsearch

有一个困惑了好久的问题,那就是从python里面连接elasticsearch总是报错。大致长这样 一开始我是看网上把es的安全功能关闭,也就是下面的内容,这个要进入到es的docker中去改config/elasticsearch.yml配置文件,但是这样改了以后kib…

midjourney 通过api调用并接入微信机器人

接口服务提供方 https://mjapi.io/ 填写邮箱,邮箱接收key 通过BTC充值,paypal也可以,一个邮箱每天提供的画图量并不大,100张左右 API文档 有了API可以接入微信机器人 我开发的微信机器人绘图命令 ### midjourney提问格式文档 ##…

.net core 6 集成nacos的服务注册和配置中心

1、安装nuget包 2、加上配置文件 "nacos": {"ServerAddresses": [ "http://127.0.0.1:8848" ],"GroupName": "DEFAULT_GROUP","ClusterName": "DEFAULT","ServiceName": "webapi"…

进程的概念之进程的状态

不逼你自己一把,你怎么知道自己行不行文章目录 进程状态看看Linux内核怎么说进程状态查看 僵尸进程僵尸进程的危害 孤儿进程进程优先级 进程状态看看Linux内核怎么说 为了弄明白正在进行的进程是什么意思,究竟怎样才算正在运行的进程,比如说…

AutoPDMS10.6.4在win10上启动情况

中国电子系统某建筑设计院软件升级,win10机子,装AutoPDMS10.6.4,管理员身份启动或双击启动,都是如下提示: 把VC的插件安装,重新安装,且看杀毒软件是否屏蔽(win10都没装杀毒软件&…

SL3036国产新品 48V/60V电动车里程增程器供电芯片

随着电动车的普及,里程焦虑成为了很多电动车用户面临的问题。为了解决这个问题,SL3036国产新品应运而生,它是一款48V/60V电动车里程增程器供电芯片。这款芯片的出现,为电动车用户提供了更加可靠的续航里程,让他们在出行…

VUE项目快速打包发布

VUE项目快速打包发布 首先在你的VS Code中新建一个终端 输入 npm run build 回车等运行结束之后会在你的项目中生成一个dist目录 此时再iis部署的时候把你添加的网站指定的目录指向dist即可

迅为RK3588开发板编译 Buildroot单独编译图形化界面(编译 buildroot)

第四步:编译 buildroot 首先在 linux 源码目录下输入以下命令进入编译的 UI 界面,进入之后如下所示: ./build.sh 然后将光标移动到第三个 rootfs,点击回车会进入到文件系统镜像选择界面,如下图所示: 这里…

知存科技助力AI应用落地:WTMDK2101-ZT1评估板实地评测与性能揭秘

文章目录 一、前言二、深入了解存算一体技术2.1 什么是存算一体2.2 存算一体技术发展历程2.3 基于不同存储介质的存内计算芯片性能比较 三、国产存算一体,重大进展3.1 知存科技:我国存算一体领域的研发领导者 四、知存科技新型 WTM2101 SOC 评估板使用评…

数据库-数据结构

数据库-数据结构 一、B-树、B树、B*树1 B-树2 B树3 B*树 二、AVL树1 左旋2 右旋3 LL4 RR5 LR6 RL 三、红黑树1 插入操作1.1 父节点是黑色1.2 父节点是红色且叔父节点是红色1.3 父节点是红色且叔父节点是黑色 2 删除操作2.1 有2个孩子2.1 有1个孩子2.3 没有孩子2.3.1 节点为红色…

DOM 的 diff 算法

经典面试题: 1)react/vue中的 key 有什么作用?(key的内部原理是什么?) 2)为什么遍历列表时,key 最好不用 index? 1、虚拟dom中key的作用: 1) 简…

Python GUI库大汇总

所有程序都是基于命令行的,这些程序可能只有一些“专业”的计算机人士才会使用。例如前面编写的五子棋等程序,恐怕只有程序员自己才愿意玩这么“糟糕”的游戏,很少有最终用户愿意对着黑乎乎的命令行界面敲命令。 相反,如果为程序…

联想小新M7268一体机常用功能和操作步骤

联想小新M7268黑白激光多功能打印一体机,小身材、大智慧,小心M7268身材十分娇小,净尺寸方面为350*275*135mm(长*宽*高)(手工测量),在实际使用时,小新M7268所占空间要略大…