当前位置: 首页 > news >正文

session一致性问题

在http访问请求中,web服务器会自动为同一个浏览器的访问用户自动创建唯一的session,提供数据存储功能。最常见的,会把用户的登录信息、用户信息存储在session中,以保持登录状态。

只要用户不重启浏览器,每次http短连接请求,理论上服务端都能定位到session,保持会话。

当只有一台web服务器提供服务时,每次http短连接请求,都能够正确路由到存储session的对应web服务器。

多台web服务器来保证高可用时,每次http短连接请求就不一定能路由到正确的session了。假设用户包含登录信息的session记录在第一台web服务器上,而反向代理将之后的请求路由到另一台web服务器上了,这样就找不到已登录的session相关信息,而导致用户需要重新登录。

可以用以下几种方法处理:

1、session同步法

多个web服务器之间相互同步session,这样每个web服务器之间都包含全部的session。

问题:session的同步需要数据传输,占内网带宽,有时延

2、客户端存储法

服务端存储所有用户的session,内存占用较大,可以将session存储到浏览器cookie中,每个端只要存储一个用户的数据了。

问题:数据存储在端上,并在网络传输,存在泄漏、篡改、窃取等安全隐患

3、反向代理hash一致性

反向代理层使用用户ip来做hash,以保证同一个ip的请求落在同一个web服务器上。

4、后端统一存储

采用redis、memcache、mysql统一存储session.

http://www.lryc.cn/news/19721.html

相关文章:

  • 上岸16K,薪资翻倍,在华为外包做测试是一种什么样的体验····
  • django项目中如何添加自定义的django command
  • 【算法基础】哈希表⭐⭐⭐
  • 基于SpringMVC、Spring、MyBatis开发的校园点餐系统
  • LeetCode 热题 C++ 148. 排序链表 152. 乘积最大子数组 160. 相交链表
  • JavaScript 基础【快速掌握知识点】
  • 基于Frenet优化轨迹的⾃动驾驶动作规划⽅法
  • Spring(入门)
  • 2023-02-25力扣每日一题
  • 如何外网登录管理云通信短信网关平台?——快解析映射方案
  • 学习 Python 之 Pygame 开发魂斗罗(三)
  • 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)
  • linux系统加exfat驱动
  • 3,预初始化(一)(大象无形9.2)
  • 【PAT甲级题解记录】1013 Battle Over Cities (25 分)
  • CSS-关键帧动画
  • Allegro如何画Photoplot_Outline操作指导
  • ChatGPT对于普通人有什么机会和影响?
  • 【人工智能 AI】可以从 RPA 中受益的 10 个行业 10 Industries That Can Benefit From RPA
  • PHP 程序如何实现加密解密?
  • 使用IDEA社区版如何创建SpringBoot项目?
  • HTML、CSS学习笔记3(平面转换:位移、旋转、缩放,渐变)
  • 【C语言经典例题】打印菱形
  • easyExcel与poi版本不兼容导致的后台报错问题
  • Fiddler报文分析-断点应用、模拟网络限速-HTTPS的 拦截
  • PHP基础(3)
  • 跳槽进字节跳动了,面试真的很简单
  • 【SpringBoot9】HandlerInterceptor拦截器的使用 ——防重复提交
  • 内网渗透(五十八)之域控安全和跨域攻击-约束性委派攻击
  • Linux僵尸进程理解作业详解