session 与 cookie的区别

http

  http协议是无状态的(前后两次的请求互相独立),本身不支持服务端保存客户端的状态,但是基于业务需求,经常需要保存客户端的状态,也就引入了会话跟踪的概念。

  会话跟踪技术的实现一般由两种:cookie和session。

cookie

  cookie是客户端会话跟踪技术(客户端状态保存在cookie中,也就是浏览器的缓存,浏览器所在pc的文件中)

  cookie中保存的就是client端的状态信息,实际是由server端写的,发给client端,client之后每次访问server都会携带这个cookie信息,便于更新。这里也就是相当于带状态的http

  cookie的生命周期可以设置,

  cookie的作用域是同一个域名下(不区分端口,按ip和path去分)

http session

  session是服务端会话跟踪技术(客户端状态保存在server侧)

  session实现方式有多种,其中一种也是依赖cookie,在cookie中设置一个JSESSION字段,携带一个uuid,然后服务端以这个key来保存信息(客户端状态)

  如果禁用cookie,则session的实现方式是在url后面拼接session id信息

  session的有效期,客户端保存的是一个cookie信息,但是这个cookie中只是携带一个key,而不是全部信息,其有效期同cookie的有效期

  服务端根据内存设置一定的有效期,需要设置一定的策略,如LRU,来驱逐无用的session id。

 

posted @   exact  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· .NET 8.0 + Linux 香橙派,实现高效的 IoT 数据采集与控制解决方案
· .NET中 泛型 + 依赖注入 的实现与应用
点击右上角即可分享
微信分享提示