浏览器页面刷新获取新会话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。
我的申请中遇到了这个问题。每当浏览器刷新时,它都会为 cookie 重新分配一个新的内容,从而重新分配一个新的会话 ID。这是浏览器的正确行为?
该应用程序使用了 nodejs 的快速和连接繁琐的库。用户被注销是因为 cookie 内容和会话 id 现在每次刷新时都不同。关于如何解决这个问题有什么建议吗?
如果是您的节点服务器代码负责为用户和 session 设置 cookie(使用 Set-Cookie
header 或生成 Javascript客户端的文件),那么它还应该检查请求中的现有 cookie。当页面重新加载时,请求将再次到达您的服务器。此时您可以读取传递给服务器的 cookie(其中包括 session 和上次设置的用户的 cookie)。如果找到这些 cookie 并且有效,服务器不应为其生成新的 cookie。
即使此逻辑不驻留在服务器上,而是客户端 JS 的一部分,但总体思路是相同的。如果您可以正确读取现有的 cookie,请不要创建新的 cookie。