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更加安全一些。

相关推荐
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean4 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
茶杯梦轩4 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰5 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒5 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五5 天前
Nginx 高性能Web服务器笔记
服务器·nginx