美文网首页
Token、Cookie和Session

Token、Cookie和Session

作者: HOLLE_karry | 来源:发表于2020-08-05 00:17 被阅读0次

1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
4、用session值作为Token
客户端:客户端只需携带用户名和密码登陆即可。
客户端:客户端接收到用户名和密码后并判断,如果正确了就将本地获取sessionID作为Token返回给客户端,客户端以后只需带上请求数据即可。
5.基于 Token 的身份验证
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。流程是这样的:
⑴客户端使用用户名跟密码请求登录
⑵服务端收到请求,去验证用户名与密码
⑶验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
⑷客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
⑸客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
⑹APP登录的时候发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果成功,以某种方式比如随机生成32位的字符串作为token,存储到服务器中,并返回token到APP,以后APP请求时,
⑺凡是需要验证的地方都要带上该token,然后服务器端验证token,成功返回所需要的结果,失败返回错误信息,让他重新登录。其中服务器上token设置一个有效期,每次APP请求的时候都验证token和有效期。

Cookie和Session

Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。
这就意味着服务器无法从连接上跟踪会话。Cookie可以弥补HTTP协议无状态的不足。
1.Cookie的工作原理:就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了
2.会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。
3.客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。
4.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
5.设置cookie时间可以使cookie过期。但是使用session-destory(),我们将会销毁会话。
6.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。
7.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。(Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型)
❤注意:
⑴session很容易失效,用户体验很差;
⑵虽然cookie不安全,但是可以加密 ;
⑶cookie也分为永久和暂时存在的;
⑷浏览器 有禁止cookie功能 ,但一般用户都不会设置;
⑸一定要设置失效时间,要不然浏览器关闭就消失了;
8.两者最大的区别在于生存周期,一个是IE启动到IE关闭.(浏览器页面一关 ,session就消失了),一个是预先设置的生存周期,或永久的保存于本地的文件。(cookie)

相关文章

网友评论

      本文标题:Token、Cookie和Session

      本文链接:https://www.haomeiwen.com/subject/reggrktx.html