我可以向浏览器发送空Cookie吗?

时间:2018-11-14 21:50:37

标签: html html5 perl cookies session-cookies

从我的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建议。我环顾四周,但没有任何帮助。

1 个答案:

答案 0 :(得分:2)

有关Cookie的规范性文档RFC6265中对此进行了讨论

  

如果用户代理收到具有相同Cookie名称的新Cookie,      域值和路径值作为已存储的Cookie,      现有的cookie被逐出并替换为新的cookie。      请注意,服务器可以通过向用户代理发送      新的Cookie,其属性为Expires,该属性的值过去是一个值。

因此,只有当您发送的Cookie的过期日期为过去时,才会显式删除它。显然,用户和/或用户代理仍然可以出于任何其他原因删除您的Cookie。

另请参见

与Cookie有关的HTTP RFC https://tools.ietf.org/html/rfc6265