当前位置:网站首页>Session和Cookie,Token
Session和Cookie,Token
2022-07-31 05:17:00 【Forevermoremo】
Session
Session是一种在服务器端记录用户信息的技术,一般Session用来在服务器端与客户端之间共享数据。
Cookie
Cookie是一种在客户端记录用户信息的技术,因为http协议是无状态的,为了解决这个问题而产生了Cookie。
Cookie存于浏览器内置Cookies中。如图:

Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。
客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的地址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。
Session与Cookie
Session一般情况下依赖于Cookie,Session创建出来把sessionId通过Cookie传递,客户端请求时再传递给服务器。因此需要确认浏览器是否开启Cookie存储。
基于服务器端的验证如下:
1.用户通过用户名和密码发送请求。
2.程序校验,如果客户端请求不包含sessionId,则服务器为此客户端创建一个session并且生成一个与此session相关联的sessionId,并返回SESSIONID标识给客户端。
4.客户端储存SessionId于Cookies中,每次发起请求浏览器将自动携带Cookie到服务器端。
5.服务器端检索。检索成功则返回请求数据,检索失败则返回错误码。
如图:

Token
基于Token的身份验证是无状态的,我们不需将用户信息存在服务器或Session中。
基于Token的身份验证的过程如下:
1.用户通过用户名和密码发送请求。
2.程序校验,校验成功后就返回Token给客户端。
4.客户端储存Token,每次访问API携带Token到服务器端。
5.服务器端采用filter过滤器校验。校验成功则返回请求数据,校验失败则返回错误码。
每次请求token应该在HTTP的头部发送从而保证了Http请求无状态。我们可以通过设置服务器属性Access-ControlAllow-Origin:* ,让服务器能接受到来自所有域的请求。
过程如图:

总结
Session和Cookie,Token 都是作用于服务器端与客户端的数据共享。
Session是基于服务器的验证,随着Web移动端兴起,也逐渐暴露了一些内存开销、可拓展性、跨域问题 ,Token这种方式恰好能够解决这些问题,虽然服务器涉及得更多,但是也方便了我们前端去解决跨域等问题。
参考:
https://www.cnblogs.com/moyand/p/9047978.html
https://blog.csdn.net/Deft_MKJing/article/details/53762277
边栏推荐
- Cholesterol-PEG-Azide CLS-PEG-N3 胆固醇-聚乙二醇-叠氮 MW:3400
- After unicloud is released, the applet prompts that the connection to the local debugging service failed. Please check whether the client and the host are under the same local area network.
- Research reagents Cholesterol-PEG-Maleimide, CLS-PEG-MAL, Cholesterol-PEG-Maleimide
- DSPE-PEG-Biotin, CAS: 385437-57-0, phospholipid-polyethylene glycol-biotin prolongs circulating half-life
- 【解决问题】RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at non-singleton
- Pytorch实现ResNet
- Nmap的下载与安装
- Markdown help documentation
- Cholesterol-PEG-DBCO 胆固醇-聚乙二醇-二苯基环辛炔化学试剂
- Cholesterol-PEG-Thiol CLS-PEG-SH 胆固醇-聚乙二醇-巯基
猜你喜欢
随机推荐
数据预处理、特征工程和特征学习-摘抄
CAS: 1403744-37-5 DSPE-PEG-FA Phospholipid-Polyethylene Glycol-Folic Acid for Scientific Research
Phospholipids-Polyethylene Glycol-Active Esters for Scientific Research DSPE-PEG-NHS CAS: 1445723-73-8
Gradle sync failed: Uninitialized object exists on backward branch 142
softmax函数详解
Pure shell implementation of text replacement
opencv之访问图像像素的三种方法
Why does read in bash need to cooperate with while to read the contents of /dev/stdin
ROS 之订阅多个topic时间同步问题
活体检测PatchNet学习笔记
DC-CDN学习笔记
qt:cannot open C:\Users\XX\AppData\Local\Temp\main.obj.15576.16.jom for write
this points to the problem
朴素贝叶斯文本分类(代码实现)
用pytorch里的children方法自定义网络
深度学习知识点杂谈
Cholesterol-PEG-Thiol CLS-PEG-SH 胆固醇-聚乙二醇-巯基
MySQL 出现 The table is full 的解决方法
A simple bash to powershell case
应用usb_cam同时打开多个摄像头方法









