啊哈,说好的一周三更。但是这礼拜稀里糊涂的过的太忙了,直到今天才有时间写会儿。

 

Cookie 我们都熟悉,存取东西的大杀器,之前也经常用。

但是今天用的时候突然,诶?? 出问题了

 

今天就是很正常的存放了Cookie后,因为需求。需要用cookie的过期时间做判断

我心想,这不很简单吗,直接拿来用判断就好了。

结果。。。

关于Cookie中的Expire问题和删除Cookie那点事儿

 

 

 

关于Cookie中的Expire问题和删除Cookie那点事儿

 

 没取到???

有点上头,在来一次

。。。

还是没取到,然后开始各种调试,各种查找。

最后,在一个我看见了但是没记住的帖子里面翻到一句话,原话记不得了,大意就是

cookie的Expire不会TNND跟着请求一起发过来,只能客户端使用。

我TM心态崩了啊,用这么久都不知道。

然后知道了不行,事儿还得解决啊,于是,于是,于是,我就把过期时间给加到了Value里面

然后在取出来。

嗯,就是这样。

 然后继续写逻辑,

else 删除cookie

response,干掉。非常完美,一切都按照我的计划进行。

关于Cookie中的Expire问题和删除Cookie那点事儿

 

 

 

现在开始调试

emmm?怎么没删掉,没有问题啊。都写的对啊。我也不是在request里面删除的啊

哪里出了问题呢?

 

关于Cookie中的Expire问题和删除Cookie那点事儿

 

 

------------------------------------------------------------------------------------

 

最终,被我研究出来了(百度调试)

 

 

 我不确定是不是标准答案,但是在我仔细思索了一番原理之后这么写就可以了。

 

首先Cookie是保存在客户端本地的,服务器是没有办法掌握生杀大权的,

  服务器发回信息只是给一个建议,大意就是,我修改了这个cookie,浏览器大佬接收一下。

 

服务器给的只是一个返回值,返回的信息提交给浏览器本地。

 

因为最终浏览器是控制Cookie的生杀大权的,那么当浏览器查到这个cookie过期后会把它进行清空。

  为啥清空呢(浏览器判定cookie是否过期是用过期时间来判断的,所以只需要把cookie的过期时间设置为今天之前就可以。当浏览器发现这个cookie过期了,就会从本地清除)这应该是除了小白都知道把。

 

所以,我只需要写一个新的cookie 然后用同样的名字去覆盖掉原有的cookie,这事儿不就成了吗?

果然,当我这么写的时候,就OK了

关于Cookie中的Expire问题和删除Cookie那点事儿

罪过,罪过。

这事儿以前都知道,今天怎么就糊涂了呢?

但是,在我的耐心思索下,还是解决了问题。

关于Cookie中的Expire问题和删除Cookie那点事儿

 

 可能我的方法是Low了点点,不过,事儿不是解决了吗。

虽然我博客可能写的不太好,不过,原理我不是讲清楚了吗!

关于Cookie中的Expire问题和删除Cookie那点事儿

 

 

 

 

最后,如果有大佬路过,轻喷,欢迎探讨

关于Cookie中的Expire问题和删除Cookie那点事儿

 

相关文章:

  • 2022-01-12
  • 2022-12-23
  • 2021-09-22
  • 2022-01-17
  • 2022-02-27
  • 2021-08-07
猜你喜欢
  • 2022-01-12
  • 2022-12-23
  • 2021-10-10
  • 2022-03-05
  • 2022-02-07
  • 2021-06-29
相关资源
相似解决方案