问题
From cookie docs for setMaxAge(int):
http://docs.oracle.com/javaee/1.3/api/javax/servlet/http/Cookie.html#setMaxAge(int)
Is there any difference between int = 0 and int = -ve? It says 0 deletes cookie. -ve value means cookie is not stored. Does that mean 0 deletes only from current browser session?
回答1:
I suggest you go read about cookies from a browser perspective. It's very interesting. Note that 'max-age' is the newer version of 'expires' and some browsers may not support it. (For example, IE6, IE7, and IE8 don't support max-age.)
0 means delete the cookie right now.
negative means preserve the cookie for a while. I suspect the scope is somewhat browser specific but it will not preserve the cookie across closing and reopening the browser.
回答2:
Setting setMaxAge to 0 will delete the cookie. Setting it to -1 will preserve it until the browser is closed.
回答3:
setMaxAge(int) as mentioned by Oracle setting max age 0 will delete the cookie instantly. While -1 will delete the cookie when the browser is closed.
来源:https://stackoverflow.com/questions/15932957/difference-between-0-and-negative-value-for-setmaxage-for-cookie