提问者:小点点

为什么clear cookie发送要删除的cookie而cookie持续存在?


我正在尝试删除浏览器中的一个cookie集它们在创建它时是没有问题的这是一个只有http的cookie,具有'session'类型过期:

set-cookie:token=xxx.yyyy.zzz; 路径=/; HTTPONLY

我现在尝试使用我的后端服务器删除它,因为它是一个只包含HTTP的cookie

function destroyToken(res){
    console.log('disconected');
    res.status(204).clearCookie('token', {httpOnly: true}).end();
}

在我的网络浏览器中,请求被成功发送,而且比这更好的是我收到了一个响应,我从这个请求得到的响应是:

http/1.1 204无内容
x-powered-by:Express
Access-control-allow-origin:http://localhost:4200
vary:origin
Access-control-allow-credentials:true
set-cookie:token=; 路径=/; 过期=Thu,1970年1月1日00:00:00 GMT; httponly
日期:Thu,23 Jul 2020 12:18:02 GMT
连接:keep-alive

正如你看到的用粗体显示的行,应该有一个cookie集和过期替换了我原来的cookie,但是在我的cookie存储中,cookie仍然在这里并且一点都没有改变,你能告诉我为什么吗?


共1个答案

匿名用户

您向我们展示的set-cookie头通过将令牌cookie设置为空值并将其设置为在半个世纪前过期来删除该cookie。

检查.clearcookie()中的选项是否与用于设置它的.setcookie()调用中的选项完全匹配。 如果它们不匹配,浏览器将忽略您清除cookie的尝试。 因为网络蠕虫。

让你自己编辑这个Cookie chrome扩展。 然后,您可以很容易地在任何给定的时间查看您正在查看的页面的浏览器中有哪些cookie(值和选项)。 如果需要调试或测试web应用程序,您还可以更改和删除这些cookie。