简短的问题:
为什么我的会话cookie的到期时间把浏览器更新的时候,我会的expirty时间是在服务器上更新?
长的问题:
我发布了类似的问题,关于这几个星期前,但我没有当时所有的事实。 我现在有更多的细节和问题的性质发生了变化,所以我张贴它作为一个新的问题。
首先,在CakePHP中2,我已经设置了APP /配置/ core.php中提供该会话的以下内容:
Configure::write('Session', array(
'defaults' => 'database',
'cookie' => 'mycookie',
'timeout' => 1 // 1 minute - just for testing
));
所以,我加载它在我的应用程序,它会在数据库中的会话页面。 所有好为止。
这次会议是在加盖过期1341288066
等于Tue, 03 Jul 2012 04:01:06 GMT
。 再次,这是伟大的,因为这是从现在开始1分钟。 正是我想要的。
如果我期待在Firefox中的cookie屏幕,我觉得就像我本来期望它的cookie:
Name: mycookie
Content: aqm0gkmjfsuqje019at8cgsrv3
Host: localhost
Path: /
Send for: Any type of connection
Expires: Tue 03 Jul 2012 11:01:06 AM ICT // (04:01:06 GMT)
现在,这1分钟的窗口内,我回到我的应用程序并刷新页面。 然后,我检查会议,看看它的更新。 这表明1341288122
针对会话ID aqm0gkmjfsuqje019at8cgsrv3
等于Tue, 03 Jul 2012 04:02:02 GMT
这又是我所期待的。 本次会议的有效期已经更新是从我上次重新加载页面1分钟。
不幸的是,在浏览器时cookie仍设置为Expires: Tue 03 Jul 2012 11:01:06 AM ICT
(即: 04:01:06 GMT
),而这正是它做什么,这意味着下一次我按下刷新,蛋糕生成即使旧的仍然是技术上有效的一个全新的会话ID。
我的问题是基本上是怎么回事呢? 为什么不饼干即可通过浏览器中的新到期日更新?