总结说在前面:
- session:起源于服务端,保存在服务端(服务器或者数据库),通过cookie传递给用户,用户每一次发送HTTP请求的时候,通过验证cookie中的session-id来验证用户身份。
- jwt(json web token):起源于服务端,保存在浏览器(cookie或者storage),和session一样,用户每一次发送HTTP请求的时候,携带token,通过算法来验证token的正确性。
一开始的cookie通过明文存储username和password,然后传递给服务器,但是这种方式可以将数据传递给服务器,也可以被黑客拦截。
所以session出现了,session-id是一段字符串,被保存在服务器和浏览器中,每一次通过比对和算法验证,来验证用户身份。然而,虽然不是明文传输了,但是session-id一样可以被黑客获得。当然,相对之前的cookie,安全性没事提高了一些的。
随着用户量增多,数据量也增大了。服务器存储不下,这么多的session-id了。一开始是想要使用分布式存储,也就是一台机器放不下的数据,我就多拿几台机器来存储。但是,如果我拿着一个session-id去请求一个没有存储我这个session-id的服务器的话,就会”鉴权“失败。文章来源:https://www.toymoban.com/news/detail-826889.html
因此,jwt(json web token)出现了,jwt有三部分组成:【加密算法.携带数据.签名】,这些数据被base64编码之后进行发送。(注意:base64编码可以被双向加解密,所以相当于明文发送)这些数据会被保存在浏览器中,每一次发送给服务器的时候,只需要验证签名是否相同即可。文章来源地址https://www.toymoban.com/news/detail-826889.html
到了这里,关于cookie+session和token的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!