我最近调试并验证了使用Cookie.setMaxAge()
不会产生任何影响。对于后续请求,如果调用getMaxAge()
,它将始终返回-1(如果设置了任何正值)或0(如果显式设置为0)。
我只是好奇,所以拥有setMaxAge
有什么意义?无论如何,您永远无法真正确定Cookie的年龄(除非您使用JWT之类的方法来传递声明和iat
字段)。根据Servlet 2.x文档:
public void setMaxAge(int expiry)设置Cookie的最长使用期限(以秒为单位)。正值表示cookie将在经过许多秒后过期。请注意,该值是Cookie到期的最长期限,而不是cookie的当前期限。
负值表示cookie不会持久存储,并且在Web浏览器退出时将被删除。零值将导致cookie被删除。
参数:expiry-一个整数,指定饼干在几秒钟内;如果为负,则表示未存储cookie;如果零,删除cookie
并且对于
getMaxAge()
返回Cookie的最长期限,以秒为单位,由默认值为-1,表示Cookie将一直保留到浏览器关闭为止。
有人可以澄清吗?
我最近调试并验证了使用Cookie.setMaxAge()不会产生任何影响。对于后续请求,如果...
我认为您感到困惑,请参阅this post。然后澄清一下您不了解的内容。