繁体   English   中英

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

[英]can i send empty cookie to browser?

从我的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 =>(空)

请咨询。 我环顾四周,但没有任何帮助。

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

如果用户代理接收到的新cookie具有与已存储的cookie相同的cookie名称,域值和路径值,那么现有的cookie将被驱逐并替换为新的cookie。 请注意,服务器可以通过向用户代理发送一个新的cookie来删除cookie,该cookie具有一个Expires属性,该属性具有一个过去的值。

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

也可以看看

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM