每隔30分钟从服务器检索数据的最佳方法是什么?

时间:2014-04-06 08:03:37

标签: javascript django http comet long-polling

我一直在寻找能够使用服务器中的新数据自动更新我的页面的选项。 我的数据可以从每10分钟变化到可能1小时,无法预测。每当发生这种情况时,更改必须在屏幕上显示得非常快(不超过15秒)。

所以一个选项就是每15秒轮询一次并发送一个请求,但是然后向服务器发送请求并获得超过30分钟的空结果听起来有点愚蠢。

但是如果我使用长轮询,是否可以保持连接打开很长时间?如果近一个小时没有新数据怎么办? 此外,如果我进行长轮询,我需要设置一些超时,不是吗?但是,知道服务器上可能有新数据,然后重新启动连接,结束连接是没有意义的。这将是定期轮询,间隔时间更长,不是吗?

如果有人可以指导我找到问题的最佳解决方案,我将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:1)

如果您必须支持旧浏览器,则轮询是您唯一的选择。

如果是这种情况,HEAD方法非常轻量级,只能返回一个状态,表明事情已经发生了变化。

如果您可以支持更新的浏览器,则可以使用上面提到的@MikeW方法,或者您可以查看WebSockets

我发现this discussion更详细地了解了民意调查。