关于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了点点,不过,事儿不是解决了吗。

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

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

原文地址:https://www.cnblogs.com/SevenWang/p/13826947.html