指示浏览器删除(或不再使用)HTTP响应中为给定域发出的HTTP cookie的首选方法是什么?
(我知道您无法强制浏览器删除cookie,但必须有一种方法可以表明它不再有效且不应再发送)
只需将cookie设置为完全相同的名称,路径和域,但Expires
过去使用的值.可选地,将值设置为null/empty-string,即使它只是为了节省带宽,否则平均客户端无论如何都会忽略它.
请注意,设置完全相同的路径很重要.许多初学者通过仅使用相同的名称和域并依赖于默认路径的当前请求URL而失败.
来自RFC6265规范:
最后,为了删除cookie,服务器返回一个过去有过期日期的Set-Cookie标头.仅当Set-Cookie标头中的Path和Domain属性与创建cookie时使用的值匹配时,服务器才能成功删除cookie.
使用Max-Age=0
也适用于任何符合规范的用户代理,但规范规定服务器"应该"不这样做.根据https://www.rfc-editor.org/errata/eid3430,这显然意味着最大限度地提高与仅支持正值的不合规用户代理的互操作性Max-Age
.