Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java cookie.setMaxAge异常行为_Java_Jsp_Jakarta Ee_Servlets_Cookies - Fatal编程技术网

Java cookie.setMaxAge异常行为

Java cookie.setMaxAge异常行为,java,jsp,jakarta-ee,servlets,cookies,Java,Jsp,Jakarta Ee,Servlets,Cookies,我在一个基于jsp的网站上工作,该网站需要启用Cookie才能导航(它是一个内部网站,不会暴露在互联网上) 用户的第一次访问将返回302到请求的同一url,并设置一个小时的cookie 我正在使用Cookie.setMaxAge(60*60)设置到期日期 我对某些浏览器的某些版本有一种非常奇怪的行为,它们一直在重定向。(有些工作,有些不工作) 经过大量的调查,我们发现服务器中的时间没有设置为正确的时间,而且在过去,它的时间设置为两个半小时,因此cookie可能会在设置时“过期”。(这是我的疑问)

我在一个基于jsp的网站上工作,该网站需要启用Cookie才能导航(它是一个内部网站,不会暴露在互联网上)

用户的第一次访问将返回302到请求的同一url,并设置一个小时的cookie

我正在使用
Cookie.setMaxAge(60*60)
设置到期日期

我对某些浏览器的某些版本有一种非常奇怪的行为,它们一直在重定向。(有些工作,有些不工作)

经过大量的调查,我们发现服务器中的时间没有设置为正确的时间,而且在过去,它的时间设置为两个半小时,因此cookie可能会在设置时“过期”。(这是我的疑问)

不幸的是,这是一个生产服务器,我无法轻松地更改它(正在请求它,但需要一些时间)

为了确认这是问题所在,我在过去将客户机的时间改为两个半小时,并且在该机器上开始正常工作

我的问题是:

  • 向浏览器发送了哪些信息(关于cookie过期
    日期),它是绝对日期还是相对于当前日期 时间
  • 如果Cookie已过期,浏览器是否会发送Cookie 到期日或浏览器只是不发送,如果他们是 期满?(我认为这是第二种选择)
  • 由于我在使用某些浏览器时遇到问题,并且它与其他浏览器一起工作,所以我不知道这是什么 问题出在appserver还是浏览器中
  • [编辑]

    按照Arham的建议读取RFC6265后,服务器可以将到期日期设置为绝对或相对。如果两者都存在,则以相对优先。 我使用的appserver正在将cookie设置为绝对值(这可能是错误的),因此我不明白它在某些浏览器上是如何工作的

    [/EDIT]

    提前谢谢

  • 根据RFC 1123,日期以“Wdy,DD Mon YYYY HH:MM:SS GMT”的形式指定
  • 根据RFC 6265,cookie的过期时间与浏览器收到cookie的时间有关
  • 浏览器会在cookie过期后删除cookie,因此无法将相同的cookie发送到服务器
  • 根据RFC 1123,日期以“Wdy,DD Mon YYYY HH:MM:SS GMT”的形式指定
  • 根据RFC 6265,cookie的过期时间与浏览器收到cookie的时间有关
  • 浏览器会在cookie过期后删除cookie,因此无法将相同的cookie发送到服务器

  • javascript cookies呢


    javascript cookies怎么样


    1)和2)似乎是对立的。我知道日期从1)起是绝对的,从2)起是相对的。对吗?第二点,我的意思是cookie的年龄或过期时间是相对于浏览器收到cookie的时间设置的。这与日期无关。1)和2)似乎是反对的。我知道日期从1)起是绝对的,从2)起是相对的。对吗?第二点,我的意思是cookie的年龄或过期时间是相对于浏览器收到cookie的时间设置的。这与日期无关。谢谢你的回复。解决方案是调整服务器时间。我只是好奇哪个组件做错了。谢谢你的回复。解决方案是调整服务器时间。我只是好奇哪个组件做错了。