Token是什么?和session、cookie相比,使用场景有什么区别?

在Web开发领域,相信大家对于Cookie和Session都很熟悉,Cookie和Session都是会话保持技术的解决方案。随着技术的发展,Token机制出现在我们面前,不过很多开发者对于Token和Cookie、Session的区别及使用场景分辨不清。

Cookie和Session的用途

要知道我们访问网站都是通过HTTP协议或HTTPS协议来完成的,HTTP协议它本身是无状态的协议(即:服务器无法分辨哪些请求是来源于同个客户)。而业务层面会涉及到客户端与服务器端的交互(同网站下多个页面间能共享数据),此时服务器端必须要保持会话状态,这样才能进行用户身份的鉴别。

由于HTTP无状态的特性,如果要实话客户端和服务器端的会话保持,那就需要其它机制来实现,于是Cookie和Session应运而生。

通常情况下,Session和Cookie是搭配在一起使用的。

Token是什么

上面说到的Session和Cookie机制来保持会话,会存在一个问题:客户端浏览器只要保存自己的SessionID即可,而服务器却要保存所有用户的Session信息,这对于服务器来说开销较大,而且不利用服务器的扩展(比如服务器集群时,Session如何同步存储就是个问题)!

于是有人思考,如果把Session信息让客户端来保管而且无法伪造不就可以解决这个问题了?进而有了Token机制。

Token俗称为“令牌”,它的构成是:

  • uid:用户唯一身份标识

  • timestamp:当前时间戳

  • sign:签名字符串,防止第三方伪造数据;签名密钥是存储在服务器端的,其它人无法知道

  • 其它附加参数。

Token机制下的认证流程

Token机制其实和Cookie机制极其相似,主要有以下流程:

1、用户登录进行身份认证,认证成功后服务器端生成Token返回给客户端;

2、客户端接收到Token后保存在客户端(可保存在Cookie、LocalStorage、SessionStorage中);

3、客户端再次请求服务器端时,将Token作为请求头放入Headers中;

4、服务器端接收请求头中的Token,将用户参数按照既定规则再进行一次签名,两次签名若一致则认为成功,反之数据存在篡改请求失败。

(生成签名示例图)

(验证签名示例图)

Token与Cookie Session的区别

Cookie其实也充当的是令牌作用,但它是“有状态”的;而Token令牌是无状态的,更利于分布式部署。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

(0)

相关推荐

  • Token和cookie有何不同?网络安全网络协议

    Token和cookie有什么区别?Token和cookie有何不同?Token有什么特点?Token和cookie都是网络协议相关知识点,网络安全工程师需要了解的基本内容.要成为优秀的网络安全工程师 ...

  • Cookie、Session、Token 的区别

    首先我们来说一下认证(Authentication): 通俗的来说认证就是 验证当前用户的身份.例如,你上班打卡,为了防止你作弊,就需要你用到你的指纹来打卡,如果打卡系统里面的指纹和你的指纹匹配,那就 ...

  • session cookie

    session cookie 中文名通话cookie 外文名session cookie 领    域计算机 别    称临时cookie 基本内容 在网络上,临时cookie为用户浏览器关闭时消失的 ...

  • 老得慢的女性和衰老速度快的女人相比,会存在哪些区别?早做了解

    爱美是女人的天性,但是时间是美貌的敌人,再美丽的女人也抵不过岁月的摧残.但是,在现实生活中,有的女人却像是被时间遗忘,在岁月的推残中依然那么美丽优雅.她们是怎么做到呢的?她们是不是有什么"秘 ...

  • 华为Mate40E和Mate40相比,都有哪些区别?值得你入手吗?

    根据爆料的信息,华为Mate40E和华为Mate40相比,变化仅在处理器方面,其他方面基本没有变化,在外观上华为Mate40E和标准版华为Mate40是无法区分的,只能通过设置选项中的本机信息,查看处 ...

  • 前后端接口鉴权全解 Cookie/Session/Token 的区别

    今天 作者:ssshooter 不知不觉也写得比较长了,一次看不完建议收藏夹!本文主要解释与请求状态相关的术语(cookie.session.token)和几种常见登录的实现方式,希望大家看完本文后可 ...

  • Web 开发必须掌握的三个技术:Token、Cookie、Session

    WEB前端开发社区 1周前 在Web应用中,HTTP请求是无状态的.即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session. ...

  • drf—— 响聊聊cookie session token的演变

    一.会话保持 会话保持是指在负载均衡器上的一种机制,可以识别客户端与服务器之间交互过程的关连性,在作负载均衡的同时还保证一系列相关连的访问请求都会分配到一台机器上. 用人话来表述就是:在一次会话过程中 ...

  • 彻底理解cookie,session,token

    发展史# 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应,  尤其是我不 ...

  • Cookie/Session/Token 还傻傻分不清?

    Cookie/Session/Token 还傻傻分不清?