什么是Token?
Token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当第一次登录后,服务器会生成一个Token,然后将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码,即无需再次登录。
Token的组成
Token是由头部,有效荷载和签名三部分组成,整体由三段base64编码组成。
1、头部:Header是一个json对象,存储元数据;
2、有效负载:Payload是一个json对象。存放签发者、签发时间、过期时间,以及一些我们写入的信息,数据分为Public和Private。
3、签名:签名是对Header和Payload两部分的签名拼接组成的字符串,目的是为了防止数据被篡改。
最后把三个部分的拼成一个字符串,每个部分之间用点(.)分隔,就组成了Token信息。
为什么要用Token?
另外Token可以可以避免CSRF攻击,可以避开同源策略,可以在多个服务间共享,有效减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
查看页面token信息
使用谷歌浏览器(Google Chrome)访问今日头条,以今日头条首页为例,查看搜该网页的token。
操作步骤:
1、访问今日头条主页并登录。
今日头条
2、按一下键盘F12,此时刷新页面!
3、查看token信息。
方法一:找到Network,点击到”Fetch/XHR”,选择左侧的请求信息,然后再右侧信息栏里查看token信息。
今日头条
方法二:在Application的cookies中选择头条页面,然后在右侧信息栏里查看token信息。
今日头条
4、查询的Token信息就可以返回给客户使用了。