首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
三种保持会话的方式
时间:
2017-06-08 10:56:43
阅读:
220
评论:
0
收藏:
0
[点我收藏+]
标签:
不同的
避免
多个
依赖
需要
服务器
总结
解决方案
信息
(一)session机制保持会话
使用方法可以看
白话讲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对象,但是判断用户状态不用复杂的逻辑。第二种第三种用时间换空间,在服务器端逻辑处理进行判断用户状态。
三种保持会话的方式
标签:
不同的
避免
多个
依赖
需要
服务器
总结
解决方案
信息
原文地址:http://www.cnblogs.com/shenzikun1314/p/6961020.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!