Java 在使用response.addCookie时,如何停止Jetty更改HTTP Expires头?
事实证明,在Jetty中,当您附加cookie时,它不仅会将cookie添加到HTTP响应头,还会更改Expires HTTP头的值Java 在使用response.addCookie时,如何停止Jetty更改HTTP Expires头?,java,jakarta-ee,cookies,jetty,Java,Jakarta Ee,Cookies,Jetty,事实证明,在Jetty中,当您附加cookie时,它不仅会将cookie添加到HTTP响应头,还会更改Expires HTTP头的值 ((HttpServletResponse)response).addCookie(cookie); 我需要Jetty停止使用正确/正确的过期设置进行旋转 另一方面,它这样做有什么特别/好的理由吗?我的猜测是Jetty假设如果设置了cookie,那么内容总是动态的,因此应该设置为过期,这样就不会缓存它 更新:使用Jetty 8.1.8进行测试。v20121106
((HttpServletResponse)response).addCookie(cookie);
我需要Jetty停止使用正确/正确的过期设置进行旋转
另一方面,它这样做有什么特别/好的理由吗?我的猜测是Jetty假设如果设置了cookie,那么内容总是动态的,因此应该设置为过期,这样就不会缓存它
更新:使用Jetty 8.1.8进行测试。v20121106刚刚浏览了Jetty 8代码库。 下面是代码库中的一些情况,其中Expires(作为HTTP响应头)被强制为一个值,或者如果存在,则被删除
- 任何HTTP 206响应(根据RFC2616规范强制删除)
- 使用org.eclipse.jetty.server.handler.MovedContextHandler(未设置时强制)
- 在表单身份验证期间,如果需要通过调度处理(强制删除)响应错误
- 表单身份验证质询响应期间(强制删除)
Max Age=
到期之前都不遵守Expires=
,Cookie值上也提供了这些错误
默认行为:
Cookie.setMaxAge(-1)代码>将同时禁用
和Max Age=
Expires=
Cookie.setMaxAge(0)代码>将导致1970年1月1日的
(unix时代的开始)Expires=00:00:00 UTC
Cookie.setMaxAge(60000)代码>将导致
1分钟过期=
Cookie.setMaxAge(-1)代码>将同时禁用
和Max Age=
Expires=
Cookie.setMaxAge(0)代码>将导致1970年1月1日
和Max Age=0
(unix时代的开始)Expires=00:00:00 UTC
Cookie.setMaxAge(60000)代码>将导致
和Max Age=60000
1分钟李>过期=