HAproxy中的Session

本文介绍了Session和Cookie的概念及其区别,Session用于服务器端保持状态,而Cookie在客户端保存状态。当使用HAproxy进行负载均衡时,为了解决用户会话数据的问题,可以启用粘性会话(sticky session)。HAproxy通过配置文件实现这一功能,确保用户请求始终被路由到同一服务器,以保持会话连续性。
摘要由CSDN通过智能技术生成

一.什么是Session?

一个session是一次短暂的信息交流。交换对象可以是两个或多个设备,或者计算机和用户之间。session的生命历程:建立->撤销->终结。一个建立好的session在每一方都可能不止要交换一个信息。session是有状态的,即交流方至少有一方需要保持状态信息和保存session历史信息。任何一个单向传输都不是一个session。

区分:TCP连接描述的是分散的事件。TCP session描述的是一个持续的状态,它跟踪各种元数据。
session机制采用的是一种在服务器端保持状态
采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的。而session提供了方便管理全局变量的方式 。
session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪个用户session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用cookie时,这个值也可能设置为由get来返回给服务器。
客户端请求创建一个session时,服务器检查是否已经为他创建过session id;若有,就用此id;否则,为它新创session id。

二.什么是Cookie

Cookies是服务器在本地机器上存储的小段文本。
它随每一个请求发送至同一个服务器。网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies 。

cookie机制采用的是在客户端保持状态。

正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的

cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式。
详见此文

三.利用HAproxy实现粘性会话(sticky session)

HAproxy可以实现负载均衡,当HAproxy配置文件中负载均衡算法为:roundr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值