2009-08-03 97 views

回答

4

Web应用程序接收来自用户浏览器的HTTP请求。它拥有会话信息,以便在这些请求之间可以保留(例如)购物车或在线游戏的状态。

用户倾向于在浏览器会话期间保持活跃状态​​,同时他们去吃午餐,回家过一天,或者离开两周的假期。因此,会话通常会有一些不活动超时,否则最终会有很多服务器资源用于不会很快回来的用户。

描述的心跳模式here使用Ajax(异步)调用来告诉服务器用户仍在这里。它可能很有用,因为富互联网应用程序通常允许相当多的本地工作,然后再向服务器发送新的请求 - 因此当用户愉快地使用应用程序时,会话超时会有危险。

实现需要相当智能。例如,如果您只是每隔三十秒向服务器发送一次ajax呼叫,并说“用户仍在这里”,这会在用户休假两周后继续进行。因此,只有当用户一直在使用该应用程序时才会发送心跳信号。

将有用信息“背驮进”心跳请求和响应,例如发送自动保存数据到服务器,或者检索更新的服务器信息或“新闻”可能是相当合理的。