轮询
浏览器按照规定的时间向服务器发送请求,服务器接受并返回响应信息并关闭连接。(通过定时器实现)
长轮询
浏览器向服务器发送第一次请求,得到返回结果之后,会立即发送第二次,若第二次请求没有得到结果(挂在服务器),浏览器会一直等待服务器,只要一得到返回结果就会继续发送第三次,一直如此。。。。
WebSocket(推荐使用)
与长轮询不同,WebSocket允许服务器主动向浏览器发送数据,在WebSocket中,服务器与浏览器只需要进行一次握手,就可以创建持久性的连接,并进行双向通讯。
比较
轮询:每次都需要向服务器发送请求,每次发送的请求中都会带有大量无用的数据,而且是一直请求,这对服务器的压力是比较大的。
WebSocket:只需要建立一次连接就可以在固定时间范围内的任意时刻进行相互通讯,推荐使用。
网友评论