几种保持登录状态的方式

几种保持登录状态的方式

三种保持会话的方式

(一)session机制保持会话

存在的问题

  • 高并发情况下,会占用服务器大量内存
  • 分布式(一个业务分成几个子业务,部署在多个服务器)或者集群(一个业务部署在多个服务器)的时候,session不能共享。

解决方案

  • 高并发的时候可以将session存储到redis,如果用户长时间没有访问,将session存储到redis,就减少了服务器的压力。
  • 分布式或者集群的时候,先通过redis来判断用户状态也可以实现session共享.

(二)cookie机制保持会话

使用的方法

  • 登录验证后,创建登录凭证(比如:用户id+登录时间+过期时间),将登录凭证进行加密(为了避免暴露信息),加密后写到浏览器的cookie,以后,每次请求都发送cookie,服务器根据对应的解密算法对其进行验证(或者将加密过的cookie内容存储到数据库,请求服务器的时候,服务器在数据库进行查找)。

存在的问题

  • 每次访问都提交cookie,增加请求量
  • 其他访问可能需要cookie(比如说购物车的信息存放在cookie),浏览器对每个域存储的cookie的大小有限制,那么需要控制加密后的凭证。

(三)token机制保持会话

使用方法

  • cookie 和session依赖于浏览器,如果客户端不是浏览器,那么需要手动添加token(和cookie类似,也是登录凭证),将token添加到http header或者做为参数添加到url。

存在的问题

  • 每次访问的时候手动添加token
  • 和cookie 的方式一样增加了请求量

总结

不同的方式适合不同的应用场景,视情况使用。

相同点

  • 所有的方式目的都是为了验证用户状态。
  • 都需要在客户端存储凭证。

不同点

  • 第一种是通过是通过空间换时间,消耗内存存储session对象,但是判断用户状态不用复杂的逻辑。第二种第三种用时间换空间,在服务器端逻辑处理进行判断用户状态。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112529.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java虚拟机:常见JVM参数配置和GC性能优化

    Java虚拟机:常见JVM参数配置和GC性能优化

    2021年10月5日
    32
  • flowerplus鲜花官网_花艺大师作品

    flowerplus鲜花官网_花艺大师作品题目描述 Description花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。具体而言,栋栋的花的高度可以看成一列整数h_1,h_2,…,h_n。设当一部分花被移走后,剩下的花的高度依次为g_1,g_2,…,g_m,则栋栋希望下

    2022年8月22日
    7
  • 如何将ip划分到vlan_两个vlan有同一mac

    如何将ip划分到vlan_两个vlan有同一macVLANVLAN技术主要就是在二层数据包的包头加上tag标签,表示当前数据包归属的vlan号。VLAN的主要优点:(1)广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。(2)增强局域网的安全性:VLAN间不能直接通信,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,而需要通过路由器或三层交换机等三层设备。(3)灵活构建虚拟工作组:用VLAN可以划分不同的用户…

    2022年8月10日
    10
  • IIS7 HTTP.sys远程代码执行漏洞

    IIS7 HTTP.sys远程代码执行漏洞POC:GET/welcome.pngHTTP/1.1Host:www.test.comRange:bytes=0-18446744073709551615显示结果若是包含以下结果证明漏洞存在: RequestedRangeNotSatisfiable 转载于:https://blog.51cto.com/zhpfbk/1878418…

    2022年7月25日
    7
  • Camera mipi协议

    Camera mipi协议mipi协议介绍mipi,是MobileIndustryProcessorInterface缩写。mipi移动行业处理器接口。是mipi联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中CSI(CameraSerialInterface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPICSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。mipiCSI

    2022年6月4日
    46
  • VS2013/2015 各版本 产品密钥

    VS2013/2015 各版本 产品密钥VS2013 产品密钥 VisualStudioUltimate2013KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9VisualStudioPremium2013KEY(密钥):FBJVC-3CMTX-D8DVP-RTQCT-92494VisualStudioProfessiona

    2022年5月12日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号