客户端与服务器端的认证方式(cookie,token,session)
■参照
=====
https://blog.csdn.net/sxzlc/article/details/103450258
9.客户端与服务器端的认证方式
=====
最基本的方式,使用密码直接登录,这里就不说了
方式1:cookie
第一次访问的服务Web A生成一个sessionid并且存入cookie中。
第二次访问的是服务Web A,客户端会在cookie中读取sessionid加入到请求头中。
●cookie保存位置
・win10 IE
C:\Users\userName\AppData\Local\Microsoft\Windows\INetCache
・win10 Microsoft Edge
C:\Users\userName\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\#!001\MicrosoftEdge
关于文件夹的显示还要设定(有两个设定)让其显示
・隠しフィル、隠しフォルダー、および隠しドライブを表示する。
・保護されたオペレーティングシステムファイルを表示しない。(推奨)
隐藏受保护的系统文件
显示之后,看到的缓存文件夹,cookie文件夹,但是没有找到cookie文件。。。
↓参照
https://blog.csdn.net/duke56/article/details/104009489
●cookie文件的形式
【Cookie:userName@csdn.net/】
●内容 (时代在发展)
Cookies are no longer stored in files. Please use Internet*Cookie* APIs to access cookies.
打开cookie文件之后之后,显示如上内容。
告诉我们现在cookies不再保存在本地文件中,你需要通过http 相关的api才能查看cookies信息
↓参照
https://blog.csdn.net/u011541946/article/details/96320520
方式2:session
session :一直不变,客户端服务器端都有保存
确认上一次的请求是不是你发送的
(每一个session都有一个sessionId,生成的sessionId以Cookie的形式发送给客户端,
浏览器下次再访问服务器端时,会带着cookie中的sessionId一起发送过去。)
方式3:token
・token:根据算法,只是在某一个时间段内是不变的,服务器端不需要保存,每次通过计算得出的结果来验证
(token不需要cookie,它是一个值,可以直接再客户端以文本的形式保存起来,
在服务器端,也无需占用任何空间保存,因为Token是通过加密算法计算处理的一个值)
// token是服务器端利用加密算法,计算处理的一个值
// 再加密算法中,有可能会使用到客户端的机器信息,当前的时间等
---------------------
// 本次SFDC连接中发现,很短的时间内(也就5分钟不到)
// 两次执程序,进行连接处理,取得Token,取得的Token的值竟然是相同的。
// 推测,SFDC侧,生成Token的算法,是和时间段有关系。
---------------------
本次的SFDC类子中,就是保存了第一次建立连接后,得到的Token的值,
当再次发起请求时,把token值也发送过去,
服务器端会再次使用加密算法,再次进行计算,
看看从客户端得到的Token值,和再次计算出来的Token值,是否匹配。)
使用 「curl -I URL」 (这里的「I」要大写)获取Header信息,查看cookie中设定的sessionID
通过以上这种方式取得的值,每次都是不同的
而,我们的浏览器,可以记住登陆状态,是我们浏览器端保存了,sessionID,每次sessionID都是相同的
上一篇: Flume学习笔记