从我的perl程序中,我正在发送对AJAX调用的响应,如下所示:
...a lot of code...
$| = 1;
print $q->header(-type=>'text/html',-cookie=>$cookie);
my $tt = Template->new({INCLUDE_PATH => $htmlTempletPath});
$tt->process($returnVal,$ttVars)|| die $tt->error();
1;
当用户首次登录时,我设置并发送此$ cookie作为会话ID等以进行身份验证。每当我增加cookie的过期时间时,我都会通过-cookie =>指令将其发送回去。
我担心的是,如果$ cookie变量为空,它将如何影响浏览器/会话或已经设置的cookie?还是浏览器默默地忽略了-cookie =>(空)
Pl建议。我环顾四周,但没有任何帮助。
答案 0 :(得分:2)
有关Cookie的规范性文档RFC6265中对此进行了讨论
如果用户代理收到具有相同Cookie名称的新Cookie, 域值和路径值作为已存储的Cookie, 现有的cookie被逐出并替换为新的cookie。 请注意,服务器可以通过向用户代理发送 新的Cookie,其属性为
Expires
,该属性的值过去是一个值。
因此,只有当您发送的Cookie的过期日期为过去时,才会显式删除它。显然,用户和/或用户代理仍然可以出于任何其他原因删除您的Cookie。
与Cookie有关的HTTP RFC https://tools.ietf.org/html/rfc6265