session和cookie的区别

本文详细阐述了session和cookie的工作原理及区别,包括它们的存储位置、安全性对比、生命周期管理等内容,并解析了session创建、获取及丢失的具体场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

session和cookie的区别

    session 是存储在服务器端,cookie 是存储在客户端的,所以安全来讲 session 的安全性要比cookie 高,

    然后我们获取 session 里的信息是通过存放在会话 cookie 里的 sessionid 获取的。

    又由于 session 是存放在服务器的内存中,所以 session 里的东西不断增加会造成服务器的负担,

    所以会把很重要的信息存储在 session 中,而把一些次要东西存储在客户端的 cookie 里,

    然后 cookie 确切的说分为两大类分为会话 cookie 和持久化 cookie,

    会话 cookie 确切的说是存放在客户端浏览器的内存中,所以说他的生命周期和浏览器是一致的,

    浏览器关了会话 cookie 也就消失了,然而持久化 cookie 是存放在客户端硬盘中,

    而持久化 cookie 的生命周期就是我们在设置 cookie 时候设置的那个保存时间,

    然后我们考虑一问题当浏览器关闭时 session 会不会丢失,

    从上面叙述分析 session 的信息是通过 sessionid 获取的,而 sessionid 是存放在会话 cookie 当中的,

    当浏览器关闭的时候会话 cookie 消失所以我们的 sessionid 也就消失了,但是 session 的信息还存在服务器端,

    这时我们只是查不到所谓的 session 但它并不是不存在。

    那么,session 在什么情况下丢失,就是在服务器关闭的时候,

    或者是 sessio 过期,再或者调用了 invalidate() 的,

    或者是我们想要 session 中的某一条数据消失调用 session.removeAttribute() 方法,

    然后 session 在什么时候被创建呢,确切的说是通过调用 getsession() 来创建,

    这就是 session 与 cookie 的区别.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

槐序二十四

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

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

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

打赏作者

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

抵扣说明:

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

余额充值