zoukankan      html  css  js  c++  java
  • 关于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了点点,不过,事儿不是解决了吗。

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

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

  • 相关阅读:
    java socket编程
    http协议之request
    Javaweb---Servlet过滤器
    Android -- startActivityForResult-------&&&----setResult
    javaWeb---文件上传(commons-FileUpload组件)
    如何人没有十根手指,那么人类使用的进制还是10进制吗?
    linux运维、架构之路-MySQL日志(三)
    linux运维、架构之路-xtrabackup
    linux运维、架构之路-MySQL(二)
    SDN第三次作业
  • 原文地址:https://www.cnblogs.com/SevenWang/p/13826947.html
Copyright © 2011-2022 走看看