首页 > 解决方案 > NodeJS 在特定路由上写入或删除 cookie

问题描述

我必须为大学做一个应用程序(我不允许使用 express 或其他类似模块),我想知道你如何指定你写 cookie 的路线。为什么 ?

到目前为止,我注意到 cookie 主要存储在域中,但是如果您在 localhost:3000/ 上设置 cookie,则 cookie 也会在子路由上,但是如果您在 localhost:3000/someroute 上设置 cookie,那么该 cookie不会在 "/" 上。

那么,当您在“/someRoute”上时,如何在“/”上设置 cookie,以及如何删除 cookie?

到目前为止,这就是我写 cookie 的方式

res.writeHead(302, { 'Set-Cookie': 'session='+sessionID });
  • 请注意,我询问的是您如何在特定路线上编辑这些 cookie,而不是它们如何工作

标签: javascriptnode.jscookies

解决方案


您正在寻找的是 Path 指令。

Set-Cookie: <nome-cookie>=<valor-cookie> 
Set-Cookie: <nome-cookie>=<valor-cookie>; Expires=<date>
Set-Cookie: <nome-cookie>=<valor-cookie>; Max-Age=<non-zero-digit>
Set-Cookie: <nome-cookie>=<valor-cookie>; Domain=<domain-value>
**Set-Cookie: <nome-cookie>=<valor-cookie>; Path=<path-value>**
Set-Cookie: <nome-cookie>=<valor-cookie>; Secure
Set-Cookie: <nome-cookie>=<valor-cookie>; HttpOnly

Set-Cookie: <nome-cookie>=<valor-cookie>; SameSite=Strict
Set-Cookie: <nome-cookie>=<valor-cookie>; SameSite=Lax

在你的情况下:

Set-Cookie: Path=/something;

进一步阅读:HTTP cookie


推荐阅读