当前位置:网站首页>无状态与有状态的区别
无状态与有状态的区别
2022-07-31 22:22:00 【热爱编程的小宇】
无状态与有状态
- 有状态服务
有状态服务,即服务端记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行相应的处理。
- 无状态服务
明白了有状态服务,无状态服务就好理解了,无状态服务在实际比较常见的实现是采用基于令牌的方式,即:
- 服务端不保存任何客户端会话信息;
- 客户端的每次请求必须携带令牌,其中包含了认证者、签名相关信息(用户名、角色、权限等);
传统的session认证方式存在的问题
HTTP
本身是无状态的,短连接,因此便有了我们传统的 Cookie-Session 模式,这在单体架构中广泛使用。用户完成登录后,与用户的会话信息被保存在服务端的Session
中,然后服务端响应一个SessionID
给前端,前端将这个SessionID
存储在Cookie
中,后续请求携带Cookie
信息继续发起请求,后端再查询其对应的会话信息,完成请求响应。
这种方式会带来一些问题:
- 性能:每建立一个会话,服务端就需要存储这个会话信息,增加了服务端存储、查询的压力,占用了宝贵的存储、计算资源;
- 扩展性:服务端保存用户状态,难以进行水平扩展,微服务环境下需要在各服务器上进行状态的复制、同步(Session同步、Session共享)等处理后才能进行扩展;
- CSRF攻击:因为该方式是基于 cookie 来进行用户识别的,如果 cookie 被截获,用户以及服务器就会受到跨站请求伪造的攻击;
- 跨平台:在移动应用上 session 和 cookie 很难行通,你无法与移动终端共享服务器创建的 session 和 cookie。
解决办法:
边栏推荐
- 【公开课预告】:超分辨率技术在视频画质增强领域的研究与应用
- grep命令 笔试题
- HTC使用官方固件作为底包制作rom卡刷包教程
- C language parsing json string (json object is converted to string)
- TestCafeSummary
- IDA PRO中汇编结构体识别
- 【核心概念】图像分类和目标检测中的正负样本划分以及架构理解
- "SDOI2016" Journey Problem Solution
- Shell script quick start to actual combat -02
- Short-circuit characteristics and protection of SiC MOSFETs
猜你喜欢
Flink_CDC construction and simple use
VOT2021比赛简介
Socket回顾与I/0模型
How to debug TestCafe
一款国外开发的高质量WordPress下载站模板主题
Document management and tools in the development process
高效并发:Synchornized的锁优化详解
Unity - by casting and cloning method dynamic control under various UGUI create and display
PCB stackup design
Student management system on the first day: complete login PyQt5 + MySQL5.8 exit the operation logic
随机推荐
Learn about C# anonymous methods
Write a database document management tool based on WPF repeating the wheel (1)
Thymeleaf是什么?该如何使用。
Qualcomm cDSP simple programming example (to query Qualcomm cDSP usage, signature), RK3588 npu usage query
LeetCode 第 304 场周赛
The whole network is on the verge of triggering, and the all-round assistant for content distribution from media people - Rongmeibao
Quick Start Tutorial for flyway
grep命令 笔试题
cas and spin locks (is lightweight locks spin locks)
信息学奥赛一本通 1941:【07NOIP普及组】Hanoi双塔问题 | 洛谷 P1096 [NOIP2007 普及组] Hanoi 双塔问题
The old music player WinAmp released version 5.9 RC1: migrated to VS 2019, completely rebuilt, compatible with Win11
grep command written test questions
Verilog implements a divide-by-9 with a duty cycle of 5/18
PHP三元(三目)运算符
HTC using official firmware as bottom bag made ROM brush card bag tutorial
Golang must know the Go Mod command
Financial profitability and solvency indicators
求n以内的素数
uniapp小程序检查、提示更新
"APIO2010" Patrol Problem Solution