在 Koa 中设置多个 cookie 标头

Kar*_*son 5 http-headers node.js koa

我正在尝试通过以下方式清除客户端浏览器中的两个 cookie:

this.response.set('Set-Cookie', 'mycookie1=; Path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; ,mycookie1.sig=; Path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT;');
Run Code Online (Sandbox Code Playgroud)

我似乎只能摆脱mycookie1而不是摆脱mycookie.sig

Roy*_*loh 4

更多的是关于协议(HTTP)。您应该将其拆分为两个标头字段(Set-Cookie针对每个 cookie)。

通过RFC6265

源服务器可以在单个响应中包含多个 Set-Cookie 标头字段。...源服务器不应该将多个 Set-Cookie 标头字段折叠到单个标头字段中。

有一种比原始方式更好的方式使用 Koa 设置 cookie,只需调用两次即可设置两个 cookie(有关可能的选项,请参阅文档):

function *() {
    this.cookies.set('mycookie1', 'value1', options);
    this.cookies.set('mycookie2', 'value2', options);
}
Run Code Online (Sandbox Code Playgroud)