Cookie的setMaxAge的0和负值之间的差异

时间:2013-04-10 17:54:10

标签: cookies

来自setMaxAge(int)的cookie文档: http://docs.oracle.com/javaee/1.3/api/javax/servlet/http/Cookie.html#setMaxAge(int) int = 0int = -ve之间有什么区别吗?它说0删除了cookie。 -ve值表示不存储cookie。这是否意味着0仅从当前浏览器会话中删除?

3 个答案:

答案 0 :(得分:13)

我建议你从浏览器的角度阅读有关cookie的内容。这很有趣。请注意,'max-age'是'expires'的较新版本,有些浏览器可能不支持它。 (例如,IE6,IE7和IE8不支持max-age。)

0表示现在删除cookie。

否定意味着保留cookie一段时间。我怀疑范围在某种程度上是浏览器特定的,但它不会在关闭和重新打开浏览器时保留cookie。

答案 1 :(得分:5)

将setMaxAge设置为0将删除cookie。将其设置为-1将保留它直到浏览器关闭。

答案 2 :(得分:2)

Oracle设置max age 0时提到的

setMaxAge(int)将立即删除cookie。而-1会在浏览器关闭时删除cookie。