Session和token的区别

Session和token的区别在于:Session是存放在服务器端的可以保存在内存、数据库、NoSQL中,而Token是放在客户端存储的,采用了时间换空间策略,它也是无状态的,所以在分布式环境中应用广泛。

Session和token的区别-Worktile社区

Session和Token机制原理上差不多,都是用户身份验证的一种识别手段,它们都有过期时间的限制,但两者又有一些不同的地方。

Session是存放在服务器端的,可以保存在:内存、数据库、NoSQL中。它采用空间换时间的策略来进行身份识别,若Session没有持久化落地存储,一旦服务器重启,Session数据会丢失。

Token是放在客户端存储的,采用了时间换空间策略,它也是无状态的,所以在分布式环境中应用广泛。

Session是存储在服务器端的,当浏览器第一次请求Web服务器,服务器会产生一个Session存放在服务器里(可持久化到数据库中),然后通过响应头的方式将SessionID返回给浏览器写入到Cookie中,浏览器下次请求就会将SessiondID以Cookie形式传递给服务器端,服务器端获取SessionID后再去寻找对应的Session。如果找到了则代表用户不是第一次访问,也就记住了用户。

但需要注意的是,若服务器做了负载均衡,用户的下一次请求可能会被定向到其它服务器节点,若那台节点上没有用户的Session信息,就会导致会话验证失败。所以Session默认机制下是不适合分布式部署的。

Token我们一般称为令牌,一般通过MD5、SHA算法将密钥、公钥、时间戳等元素加密产生的加密字符串。

浏览器访问Web服务器后认证成功后生成Token并返回给客户端,客户端浏览器后续的请求都会把这个Token带到服务器端去验证,以此判定请求是否合法。

延伸阅读:

什么是Session?

Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session对象中。有关使用Session 对象的详细信息,请参阅“ASP应用程序”部分的“管理会话”。注意会话状态仅在支持cookie的浏览器中保留。

为了满足实时远程监测系统的需求,服务器需要实时监测客户端的连接状态。为此利用ICE中间件的优点设计了一种基于面向对象ICE中间件自定义Session机制的解决方案。

文章标题:Session和token的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/36432

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月31日 下午9:56
下一篇 2023年1月31日 下午9:57

相关推荐

  • 什么是pi数据库,有何应用

    Pi数据库是一种高性能的时间序列数据库,在工业领域中得到了广泛的应用。它主要用于:一、工业生产数据采集;二、能源管理;三、智能制造;四、建筑自动化;五、物联网。 Pi数据库是一种高性能的时间序列数据库,在工业领域中得到了广泛的应用。它主要用于存储、管理和分析工业过程数据。与传统数据库不同,Pi数据库…

    2023年5月31日
    500
  • GET和POST请求的本质区别是什么

    GET和POST请求的本质区别是:1、作用不同;2、用户可见性不同;3、安全性不同;4、数据大小限制不同;5、保留和收藏性不同。作用不同在于,GET是从服务器上获取数据,而POST请求是向服务器传送数据。 一、作用不同 GET是从服务器上获取数据,GET请求返回request–URI所指出的任意信息…

    2023年5月12日
    1200
  • 测试用例该怎么写

    测试用例包括:1、测试用例标识;2、测试说明;3、前提条件;4、测试数据;5、要执行的步骤;6、预期成果;7、后置条件;8、后置条件;9、实际结果;10、通过/失败。测试用例标识是指为每个测试用例创建一个唯一的 ID。 一、测试用例怎么写 1、测试用例标识 应为每个测试用例创建一个唯一的 ID。这些…

    2023年3月31日
    8900
  • logo设计理念

    logo设计理念:1、简单易懂;2、传达品牌理念;3、注重结构;4、了解充分;5、遵循艺术规律;6、特异性和可识别性。简单易懂是指,简单易懂的设计更易于记忆,有更高的辨识度。这种简单性用途广泛,包括让logo更有效适用于不同尺寸。 1、简单易懂 简单易懂的设计更易于记忆,有更高的辨识度。就像苹果、耐…

    2023年3月21日
    11500
  • 软件开发项目有哪些

    软件开发项目有:一、市场调研和需求分析;二、软件概要设计和详细设计;三、软件编码和测试上线运营。在正式着手开发前,对于所要开发的app有个清晰的了解是必不可少的,所要在前期要做好市场调研和需求分析。 一、市场调研和需求分析 在正式着手开发前,对于所要开发的app有个清晰的了解是必不可少的,所要在前期…

    2023年4月16日
    3800
  • 如何搭建jira

    搭建jira的 步骤:一、下载Jira;二、安装Jira;三、配置Jira;四、使用Jira。Jira是一款功能强大的项目管理软件,可以帮助您协作和跟踪团队任务。第一步是从官方网站下载Jira。可以访问jira的官网并选择适合的操作系统的版本。建议您下载最新版本。 一、下载Jira Jira是一款功…

    2023年3月22日
    3200
  • 项目管理如何实施okr

    使用OKR要做到:一、理解OKR;二、设定OKR;三、跟踪OKR进展情况。OKR是一种目标管理方法,它通过制定可衡量的目标和关键结果,帮助员工更好地了解自己的工作目标和如何实现它们。OKR方法的核心思想是:OKR方法的核心思想是:目标(Objectives)和关键结果(Key Results)。 一…

    2023年3月30日
    4300
  • 制定工作计划的工具有哪些

    制定工作计划的工具有:一、有道云笔记;二、滴答清单;三、讯飞语记;四、千本笔记;五、暖暖手账;六、记事本 ;七、计划表。有道云笔记是一款多平台的记录工具,可以通过文档、扫描、语音、收藏等方式进行记录。书本中的内容也可以扫描保存到软件中,以便随时随地查看。 一、有道云笔记 有道云笔记是一款多平台的记录…

    2023年4月30日
    5000
  • 硬件加速渲染开哪些好

    硬件加速渲染需要开启的选项:1、强制进行GPU渲染;2、强制启用4x MSAA;3、停用HW叠加层。其中,强制进行GPU渲染可以增加2D应用的流畅度,同时会增加手机的功耗。 1、强制进行GPU渲染 强制GPU渲染就是hwa(HardwareAcceleration硬件加速)的一种,能够得到更好源的优…

    2023年1月4日
    35400
  • 项目集是什么

    项目集是经过协调管理以便获取单独管理这些项目时无法取得的收益和控制的一组相关联的项目。协调管理是为了获得对单个项目分别管理所无法实现的利益和控制。项目集中可能包括各单个项目范围之外的相关工作。 项目管理协会(PMI)把项目集定义为“经过协调管理以便获取单独管理这些项目时无法取得的收益和控制的一组相关…

    2022年11月30日
    19700

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部