关于Cookie中的Expire问题和删除Cookie那点事儿
啊哈,说好的一周三更。但是这礼拜稀里糊涂的过的太忙了,直到今天才有时间写会儿。
Cookie 我们都熟悉,存取东西的大杀器,之前也经常用。
但是今天用的时候突然,诶?? 出问题了
今天就是很正常的存放了Cookie后,因为需求。需要用cookie的过期时间做判断
我心想,这不很简单吗,直接拿来用判断就好了。
结果。。。
没取到???
有点上头,在来一次
。。。
还是没取到,然后开始各种调试,各种查找。
最后,在一个我看见了但是没记住的帖子里面翻到一句话,原话记不得了,大意就是
cookie的Expire不会TNND跟着请求一起发过来,只能客户端使用。
我TM心态崩了啊,用这么久都不知道。
然后知道了不行,事儿还得解决啊,于是,于是,于是,我就把过期时间给加到了Value里面
然后在取出来。
嗯,就是这样。
然后继续写逻辑,
else 删除cookie
response,干掉。非常完美,一切都按照我的计划进行。
现在开始调试
emmm?怎么没删掉,没有问题啊。都写的对啊。我也不是在request里面删除的啊
哪里出了问题呢?
------------------------------------------------------------------------------------
最终,被我研究出来了(百度调试)
我不确定是不是标准答案,但是在我仔细思索了一番原理之后这么写就可以了。
首先Cookie是保存在客户端本地的,服务器是没有办法掌握生杀大权的,
服务器发回信息只是给一个建议,大意就是,我修改了这个cookie,浏览器大佬接收一下。
服务器给的只是一个返回值,返回的信息提交给浏览器本地。
因为最终浏览器是控制Cookie的生杀大权的,那么当浏览器查到这个cookie过期后会把它进行清空。
为啥清空呢(浏览器判定cookie是否过期是用过期时间来判断的,所以只需要把cookie的过期时间设置为今天之前就可以。当浏览器发现这个cookie过期了,就会从本地清除)这应该是除了小白都知道把。
所以,我只需要写一个新的cookie 然后用同样的名字去覆盖掉原有的cookie,这事儿不就成了吗?
果然,当我这么写的时候,就OK了
罪过,罪过。
这事儿以前都知道,今天怎么就糊涂了呢?
但是,在我的耐心思索下,还是解决了问题。
可能我的方法是Low了点点,不过,事儿不是解决了吗。
虽然我博客可能写的不太好,不过,原理我不是讲清楚了吗!
最后,如果有大佬路过,轻喷,欢迎探讨
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!