多久向服务器发送一次Http请求以检查更新?(Ajax)


How often send Http request to server to check for updates? (Ajax)

我正在使用Ajax和http请求开发一个小型应用程序。目前,我每秒向服务器发送一个请求,检查是否有更新,如果有,获取更新并下载数据。

当用户与应用程序交互时,会修改此定时配置文件,但可以忽略不计。

我只是想知道。。我可以向服务器发送无限循环的请求。请求频率越高,应用程序的速度就越快。但服务器不会收到太多请求吗?

但是从一个请求到另一个请求的正确时间是多少?

我读过一些关于令牌的文章,但我不明白检查服务器是否有更新的更好方法。提前感谢

长轮询是这里的主要选项之一。如果您希望有大量用户持久连接,那么您应该查看服务器,发现它对持久HTTP连接有很好的支持。

例如,Apache Web服务器本身为每个连接打开一个线程,这对于许多具有持久连接的用户来说可能是一个显著的挑战,最终会有很多线程(如果需要,可以在Apache中进一步研究解决方法)。Jetty是一款基于java的web服务器(我个人最喜欢的服务器之一),它使用了一个更高级的网络库,可以更对数、更高效地将连接扩展到线程,基本上是让连接处于休眠状态,直到检测到流量进出。

这里有几个链接:

http://en.wikipedia.org/wiki/Push_technology

http://en.wikipedia.org/wiki/Comet_(编程)

http://www.einfobuzz.com/2011/09/reverse-ajax-comet-server-push.html