浏览器页面刷新获取新会话cookie/id

Browser page refresh gets a new session cookie/id

我的申请中遇到了这个问题。每当浏览器刷新时,它都会为 cookie 重新分配一个新的内容,从而重新分配一个新的会话 ID。这是浏览器的正确行为?

该应用程序使用了 nodejs 的快速和连接繁琐的库。用户被注销是因为 cookie 内容和会话 id 现在每次刷新时都不同。关于如何解决这个问题有什么建议吗?

如果是您的节点服务器代码负责为用户和 session 设置 cookie(使用 Set-Cookie header 或生成 Javascript客户端的文件),那么它还应该检查请求中的现有 cookie。当页面重新加载时,请求将再次到达您的服务器。此时您可以读取传递给服务器的 cookie(其中包括 session 和上次设置的用户的 cookie)。如果找到这些 cookie 并且有效,服务器不应为其生成新的 cookie。

即使此逻辑不驻留在服务器上,而是客户端 JS 的一部分,但总体思路是相同的。如果您可以正确读取现有的 cookie,请不要创建新的 cookie。