Session与Cookie之间的关系

本文详细介绍了客户端与服务端的请求响应关系,以及Session和Cookie在维持会话状态中的作用。Session用于存储服务器端的用户状态,而Cookie则将SessionID存储在客户端。两者区别在于Session存储在服务器端,更安全,可存储大量数据;Cookie存储在客户端,安全性较低,存储量有限。此外,还探讨了它们的工作原理及应用场景。
摘要由CSDN通过智能技术生成

目录

一:客户端与服务端请求与响应的关系

二:Session是什么

三:Cookie是什么

四:Session与Cookie的区别

五:工作原理图


一:客户端与服务端请求与响应的关系

客户端请求服务器端,属于HTTP请求。Http请求是无状态的,即每次服务端接收客户端请求时,都是一次全新的请求,服务器端并不知道客户端的历史请求记录,所以当用户从客户端请求登录后,登陆成功,再一次请求时,因为服务端不能区分这两次请求是否来自同一个浏览器,所以服务端不知道客户端的请求历史记录,就会再次弹出登录的会话框。

为了解决客户端与服务端请求会话同步的问题,这便引出了Session与Cookie的概念。

 于是我们把服务端产生的会话Session存储在客户端浏览器的Cookie中去。

二:Session是什么

1.客户端请求服务端,服务端会为这次请求开辟一块内存空间,

这个对象便是Session对象, 存储结构为ConcurrentHashMap。

session的目的:弥补HTTP无状态特性,服务器可以利用session存储客户端在同一个会话期间的一些操作记录。

2.     客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。每个用户访问服务器都会建立一个session,那服务器是怎么标识用户的唯一身份呢?事实上,用户与服务器建立连接的同时,服务器会自动为其分配一个SessionId。

三:Cookie是什么

1.一个HTTP cookie的(网络Cookie,浏览器cookie)是一小片数据的一个服务器发送到用户的网络浏览器。浏览器可以存储它并将其与下一个请求一起发送回同一服务器。通常,它用于判断两个请求是否来自同一个浏览器 - 例如,保持用户登录。它记住无状态 HTTP协议的有状态信息。

2.  Cookie会根据响应报文里的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。当下客户端再向服务端发起请求时,客户端会自动在请求报文中加入Cookie值之后发送出去,之后服务端发现客户端发送过来的Cookie后,会检查是那个客户端发送过来的请求,然后对服务器上的记录,最后得到了之前的状态信息。

 四:Session与Cookie的区别

1、Session存储在服务器端;Cookie存储在客户端
2、Session存储在内存中;Cookie存储在内存或硬盘中
3、Session的安全性较高;Cookie的安全性较低
4、Session可以存储较大的数据;Cookie存储的数据量较小(10K)
5、Session的读取效率较高;Cookie的读取效率较低

五:工作原理图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星星不喝药

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值