cookie/session的关系

什么是cookie,session

我们平时去医院看病时,从进医院那一刻,我们最开始要做的就是挂号(需要我们填写表格,记录一些核心信息,医生会把这些信息录入电脑,并给我办一个就诊卡,卡里面只储存了一个id),当我们拿着这个就诊卡去对应的科看病时,比如我们去儿科,儿科医生就会拿着我的就诊卡,在电脑上面刷一下,电脑上面就会出现关于我对应的信息,并根据我的症状,给我开一些检查,然后我再拿着我的就诊卡去检验科,检验科也只需要刷一下卡,电脑就会出现我需要检查的科目。

这里本人就类似于cookie,就诊卡就相当于sessionid,电脑上的信息就相当于session。

cookie和session都是常用于客户端和服务器端储存和跟踪用户信息的机制,主要还是应用于Web开发中。

cookie介绍:

1.cookie的简介:

当用户在进行登录的时候,服务端会将登录的信息(文本信息,一般是JSON格式)返回给客户端,而客户端会储存这些信息,当下次客户端请求访问服务端的接口的时候,客户端会携带这些登录的信息。Cookie会被储存到请求标头中,是一个键值对信息文本,多个键值对使用,进行区分。

流程图如下:

2.Cookie的工作原理:

1.浏览器在登录的时候,服务端进行创建cookie,将携带信息的cookie返回给客户端。

2.客户端在接受到cookie后,会将cookie储存在本地(浏览器所在设备的内存或者硬盘)

3.浏览器再次进行请求服务端的时候,会进行携带cookie。

4.读取cookie,服务端进行接收到浏览器的请求的时候,会进行读取请求头中的cookie信息。

5.校验cookie中的登录态信息是否准确。

6.返回请求接口的数据的信息。

session的介绍:

1.Session简介:

session是服务端的储存机制,用来跟踪用户的状态,Session在用户和服务端建立连接后创建,并在用户退出或者Session超时后销毁,并且Session默认依赖于Cookie的。

默认使用Session实现登录的时候,储存到本地服务器中,借助cookie进行协同保存登录态。

Session是储存在服务器中的,当服务器如果宕机或者重启的话,原本在服务器生成的Session都会消失,如果基于本地服务器进行实现Session,此时的cookie请求过去的Sessionid就会失效。

2.Session的流程图:

2.Session的特性:

储存限制:Session是没有储存限制的,Cookie仅需要储存一个占用极小的Sessionid,Session中储存的登录态信息一般储存在服务端中,所以只要硬件足够强,就没有什么限制。

生命周期:Session的生命周期通常取决于会话的持续时间,可以在用户关闭浏览器依然保持,直到Session超时或者被显式销毁。

安全性:由于Session储存在服务端,因此相比于Cookie更加安全,但是Session的安全性,也来自于Sessionid的安全性。

Session和Cookie的区别:

1.储存位置:Session储存在服务端,Cookie储存在客户端浏览器。

2.储存大小:Cookie大小受限,Session理论上没有大小限制。

3.安全性:Session比Cookie更加安全一些。

相关推荐
一水鉴天5 小时前
整体设计 定稿 之9 最后收束 app.py: 应用项目的结构及其模型和框架 (豆包助手)
服务器·windows·microsoft
wanhengidc5 小时前
云手机的适配性怎么样?
运维·服务器·安全·智能手机·云计算
梁辰兴6 小时前
计算机网络基础:使用集线器的星型拓扑
服务器·网络·计算机网络·集线器·计算机网络基础·梁辰兴·星型拓扑
jimy16 小时前
安卓里运行Linux
linux·运维·服务器
咕噜签名-铁蛋6 小时前
PyTorch:深度学习框架的创新之路与技术实践
服务器
哟哟耶耶6 小时前
js-fetch流式实现中断重连
运维·服务器
爱凤的小光7 小时前
Linux清理磁盘技巧---个人笔记
linux·运维
TG:@yunlaoda360 云老大7 小时前
如何在华为云国际站代理商控制台进行SFS Turbo的性能与容量核查?
服务器·网络·数据库·华为云
耗同学一米八7 小时前
2026年河北省职业院校技能大赛中职组“网络建设与运维”赛项答案解析 1.系统安装
linux·服务器·centos
字节数据平台9 小时前
刚刚,火山引擎多模态数据湖解决方案发布大数据运维Agent
大数据·运维·火山引擎