![](/img/trans.png)
[英]Is the behaviour of Java Cookie.setMaxAge(0) down to implementation or is there a specification?
[英]Java Cookie setMaxAge(int): How is the exact expiration date tracked
假设在我的 Java 应用程序中我做
Cookie myCookie = new Cookie("myCookie", "someValue");
myCookie.setMaxAge(3); // 3-seconds
在响应中发送 cookie 时,它必须有一个过期日期。 我的理解是它将在CreationDate
+ 3 sec (maxAge)
到期。 maxAge
是增量。
如果我在1/1/2020 16:08:00
创建一个 cookie,它的过期日期是1/1/2020 16:08:03
吗?
那么cookie的原始Creation Timestamp是谁设置的,是构造函数吗? 如何跟踪整体日期?
cookie 创建时间不存储在 cookie 中。 客户端在给定的时间内保留 cookie,从它收到 cookie 开始。
除了@JB Nizet 所说的之外,客户端还可以更新它从服务器的Set-Cookie
响应头接收到的任何与 cookie 相关的信息。
在 Chrome 的开发工具的“应用程序”选项卡中自行测试,左侧面板中有一个“Cookies”节点。 对于每个域,它允许您查看和/或修改您存储在浏览器中的任何 cookie。 如果您选择将“过期/最大年龄”更新为过去的日期,浏览器将自动删除该 cookie。 您还可以将其更新到将来的某个时间。
因此,最终取决于服务器是否知道 cookie 是否确实“有效”。 您永远不应该依赖来自客户端的 max-age/expires 数据来确定真正的有效性。 客户端使用它来简单地知道什么时候从它的本地存储中删除它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.