轮询:客户端隔一段时间给服务器发送一个请求。
长轮询:客户端发一个请求到服务器,服务器阻塞掉请求,直到有内容需要返回再返回给客户端,客户端收到后再次发出请求。(HTTP请求一直维持着直到返回。)
Server Send Event: 轻量协议,基于HTTP,流的方式传递,还是长轮询,
Websocket:H5协议 真正的持久连接,基于TCP,全双工通信,不需要重复发header头,建立握手的时候使用http协议,以后的数据就不需要了。
WebSocket则提供使用一个TCP连接进行双向通讯的机制,包括网络协议和API,以取代网页和服务器采用HTTP轮询进行双向通讯的机制。
本质上来说,WebSocket是不限于HTTP协议的,但是由于现存大量的HTTP基础设施,代理,过滤,身份认证等等,WebSocket借用HTTP和HTTPS的端口。由于使用HTTP的端口,因此TCP连接建立后的握手消息是基于HTTP的,由服务器判断这是一个HTTP协议,还是WebSocket协议。 WebSocket连接除了建立和关闭时的握手,数据传输和HTTP没丁点关系了