【JavaWeb】会话管理

  • HTTP的基本性质

    • HTTP是简单的
    • HTTP是可扩展的:HTTP headers让协议的扩展变得容易
    • HTTP是无状态的,有会话的:这意味着服务器不能记住之前的请求或连接状态。每个HTTP请求都是独立的,服务器无法识别该请求是否来自同一个客户端或与之前的请求有关。
  • Cookie

    • 由服务器发送到浏览器,并保存在浏览器端的一小块数据;
    • 浏览器下次访问该服务器时候,会自动携带该数据块,将其发送给服务器;
    • 如果设置了cookie的生存时间,cookie就会被保存到本地;如果没设置就会随着浏览器关闭消亡
  • Session

    • 存储在服务器端;
    • 可存储的数据块量更大;
    • 敏感信息存放在服务器更加安全;
    • 但会增加服务端的内存压力。
  • 为什么现在常用Cookie,而Session用的少了?

    • 在分布式服务器情况下,浏览器发送请求,服务器1比较空闲,服务器1为其创建了唯一的标识符sessionID,并将其通过cookie将sessionID发送给客户端;
    • 客户端随后发送sessionID访问服务器上的会话数据时,可能会将请求发送给服务器3;
    • 因此需要额外的session维护机制:
      • 粘性session:每次都用固定的一台服务器来处理,会破坏负载均衡;
      • 同步session:将session同步给所有的服务器,导致各服务器之间会产生耦合,降低性能;
      • 共享session:单独设立一台用于会话保持的服务器,将所有session保存在该服务器上,导致对该服务器的依赖性很强;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值