在实际的网站设计中我们经常会遇到用户数据的验证和加密的问题,如果实现单点,如果保证数据准确,如何放着重放,如何防止CSRF等等
其中,在所有的服务设计中,都不可避免的涉及到Token的设计。
目前,基于Token的生成方,我们把Token生成分为两种类型。
1、基于用户/网站,可见的加密请求方式
2、基于服务器间通讯的不可见加密请求方式(API Token)
其中,网页/APP访问又分为 登录态和非登录态 两种请求区别。
(非登录态请求要求用户访问页面时会随机生成唯一且有时效性的token,该token在每次请求时都是不同)
(登录状态中,token会保存一定的时间,页面中的token会作为用户身份识别)
虽说两者作用有一定的区别,但是实现的原理是相同的。
1、非登录状态
原理:
非登录状态中,防止服务器资源被重复利用,我们在前端页面中会添加一步建立初始Session的过程,该过程来确保下一步关键请求不被利用。
一般这种验证方式用于体验页面,如:视频播放页面,项目或功能展示页面等
优点:
目的就是有点,防止token被盗用,重复请求服务器资源(类似于抖音视频播放时的签名算法作用)
缺点: