【问题标题】:Would ajax request too often cause session expired?ajax 请求太频繁会导致会话过期吗?
【发布时间】:2014-01-23 07:05:02
【问题描述】:

我对会话机制并没有真正深入了解,但对于该技术的普通用户来说已经足够了。我有一个用 jQuery ajax 请求实现的页面。如果我继续快速刷新页面,它会使会话过期,我必须重新登录。我希望能解释这种现象和防止这种情况的解决方案。

【问题讨论】:

  • 这有点取决于服务器使用什么会话系统,你不觉得吗?
  • 服务器端可以为所欲为,包括在这么多请求后销毁会话,或者请求率过高等等。

标签: ajax session


【解决方案1】:

会话包含在主要参数中

Cookie 和服务器端会话数据

简单解释

cookies 包含会话 ID,它引用服务器以获取会话数据。然后,服务器使用会话 ID 获取数据,并将其匹配到具有各种参数的文件中。

你的问题一定是会话超时,主要取决于配置的会话超时参数。

您的 ajax 请求仅在会话超时未过期时才有效,这就是它提示您登录的原因。

您可以通过定义一个不需要身份验证的服务来解决这个问题,您可以在一个特定文件上定义您的函数而无需会话初始化,这样请求就可以绕过安全会话,而您的其他需要安全的页面在同时。像亚马逊机制。

【讨论】: