Http轮询分为长查询和短查询总结
Http轮询分为长查询和短查询
长轮询
一般是浏览器向服务端发送设置较长延时时间的HTTP请求,并在http连接超时前,不主动断开连接,当有数据返回时或者超时之后,客户端再重新创建一个相同的设置较长延时时间的请求,重复以上过程。
举个例子:
客户端向服务端发起http请求,并且设置了超时时间1分钟,
如果1分钟内服务端有数据变化,则就把数据返回,并主动断开连接,如果每日有数据更新,带客户端超时之后主动断开连接,如果没有数据更新,带客户端超时后会主动断开连接,此后客户端重新建立一个新的http连接,并重复以上过程。
短轮询
一般是客户端没隔一段时间(如每隔10秒)向服务器发起一次普通Http请求,服务端查询当前接口是否有数据更新,若有数据更新则向客户端返回最新数据,若无提示则服务端无数据更新。
两种方法的缺点
- 客户端需要不断的发送数据请求,在消耗较多客户端资源的情况下,服务端不一定有更新。
- http请求和回复的消息中,可能请求投占有较大的一部分,带来了较多的带宽资源消耗。
- 另外,若服务端数据频繁的变化(如聊天室),则客户端更新跟不上服务端的变化,对用户不太友好。
相关推荐
html5 http的轮询和Websocket原理
主要介绍了html5 http的轮询和Websocket原理的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Ajax轮询,Ajax长轮询和websocket.docx
Ajax轮询,Ajax长轮询和websocket.docx
javascript和jQuery实现网页实时聊天的ajax长轮询
在做网页实时聊天的时候常常需要长轮询,本文由于采用原生的JS及AJAX,所以简单易懂,通过这篇文章就可以建立一个简单的聊天室程序。
JavaScript使用setInterval()函数实现简单轮询操作的方法
主要介绍了JavaScript使用setInterval()函数实现简单轮询操作的方法,以实例形式分析了轮询操作的原理与javascript实现技巧,需要的朋友可以参考下
web即时聊天(ajax长轮询方式实现)
采用ajax+长轮询,简单易懂.实现web对话即时推送。欢迎下载!


