cookie.setMaxAge(-1)无法在Chrome浏览器上运行?

时间:2015-02-13 21:26:05

标签: google-chrome servlets cookies

我正在发送回复并将Cookie的maxAge设置为-1。除Chrome之外的所有浏览器都会在浏览器关闭后删除我的Cookie。

Chrome浏览器显示 - enter image description here

但是当我关闭浏览器时,cookie仍然不会被删除。如何在chrome上删除cookie?或者是否有任何可靠的方法可以在所有浏览器上运行?

1 个答案:

答案 0 :(得分:0)

可能是这些问题之一:

  1. 即使您关闭了浏览器,Chrome仍然在后台运行,因此会话无法清除。

  2. 与chrome中的会话cookie删除问题相关的许多错误[1]之一。

    [1] https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-bugs/session $ 20cookies $ 20 $ 20deleted

  3. 根据规范,未设置max-ageexpires指令会导致浏览器将您的Cookie视为session Cookie。 cookie.setMaxAge(-1)在内部做正确的事情,如果你说它适用于所有其他浏览器,除了chrome,虽然你可以尝试设置一个没有max-ageexpires的cookie,即拥有你的http头字段像这样:

    Set-Cookie: test=2015; Path=/; Domain=.example.
    

    我认为强大的解决方案是遵守规范。如果您需要严格的会话cookie,请不要为设置expiresmax-age值而烦恼。然后,我们将其留给浏览器以遵守规范。