• Cookie Session


    Cookie

    作用:
    服务器发送到浏览器,并保存在浏览器端的一小块数据
    浏览器下次访问该服务器时,会自动携带该块数据,讲求发送给服务器


    功能:
    会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
    个性化设置(如用户自定义设置、主题等)
    浏览器行为跟踪(如跟踪分析用户行为等)


    缺点:
    不安全
    流量压力

    Session

    作用:

    是JavaEES的标准,用于在服务端记录客户端信息
    数据存放在服务端更加安全,但也会增加服务端的内存压力


    适用场景:
    如果数据比较隐私敏感,应该用Session技术,否则用cookie比较合适
     

    Session与分布式服务器:

    在分布式服务器上,session存在这样的问题。一个负载均衡器将一个http请求转发给了服务器1,使得服务器1存储了该请求的session。当下一次同一个用户发起请求时,如果负载均衡器将请求装发给了不同服务器。该服务上没有存储相应的sessionId。导致该服务器不能正确地为该客户端提供服务

    黏性sesion:
    负载均衡器,对来的sessionId进行判断,同一个Id,会派送给同一个服务器。
    这样的话,如果某个Id持续请求大量服务,而其他Id请求少量服务。不利于负载均衡。

    同步session:

    每一个session再发给任一个服务器时,都会将所有session信息同步更新。这样保证了每个服务器都存有所有的session信息。
    缺陷是会导致性能的降低,每一次session都需要更新所有服务器,而且会导致服务器之间不够独立,耦合度较高,但是可以避免单点失效问题。

    共享session:
    有i一个服务器专门用于记录session,内次只更新这一个服务器,但是可能会有单点失效问题,一旦这个服务器挂掉了,所有session数据都会失效

    存到数据库里:
    将session数据存到数据库中们可以使每个服务器都能得到session信息。
    但是从关系型数据库中提取数据需要调用硬盘,速度慢了。
    解决:内存数据库Redis

  • 相关阅读:
    分支和循环语句
    如何设置Linux的语言环境
    python简单练习案例-石头剪刀布小游戏
    Neo4J安装
    Golang 规则引擎原理及实战
    Termux配置bashrc,终端长路径改为短路径
    GPT-4o
    20个实用的 TypeScript 单行代码汇总
    基于SSM的概念可视化程序设计学习系统毕业设计源码021009
    Spring Cloud学习:如何实现Gateway 服务网关限流
  • 原文地址:https://blog.csdn.net/xd592319702/article/details/126444882