如何减少聊天​​的AJAX请求?

时间:2011-05-17 19:36:45

标签: javascript ajax http keep-alive

我在我的网站上聊天,它需要向我的服务器发送许多AJAX请求(每秒至少2次)以检查是否有新消息。
有没有办法减少请求和重新加载消息的次数只有在发布后才会发生?
我知道没有可能使用套接字(因为我不能使用flash,java或HTML5的功能),但也许有一些技巧处理HTTP 1.1的 keep alive 选项?

1 个答案:

答案 0 :(得分:6)

是的,有一种简单的方法可以做到这一点。实际上,你所做的就是将ajax调用的超时时间延长(例如,5分钟)。您的服务器收到请求然后保留它,偶尔检查新的响应。然后,当需要新的响应时,它只是响应请求,并且您的客户端会收到更新。

如果在5分钟内没有响应,则客户端只会超时并启动新的ajax请求。您的服务器,如果它在5分钟内没有响应,通常会终止所持有的请求以将其从队列中取出。

有效'服务器端'推动。