说说轮询、长轮询、长连接、socket连接、WebSocket的区别
- 轮询:客户端定时不断的发ajax请求,服务端每次都返回
- 长轮询:客户端发送一个ajax请求,服务hold住有信息就返回
- 长连接:通过隐藏的iframe的src设置成长链接地址,不断的接收服务端的信息
- socket连接:面中内嵌入一个使用了Socket类的 Flash
程序Javascript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,
Javascript在收到服务器端传送的信息后控制页面的显示 - WebSocket:协议本质上是一个基于 TCP 的协议。为了建立一个 WebSocket 连接,
客户端浏览器首先要向服务器发起一个 HTTP 请求,这个请求和通常的 HTTP 请求不同,
包含了一些附加头信息,其中附加头信息”Upgrade: WebSocket”
表 明这是一个申请协议升级的 HTTP 请求,
服务器端解析这些附加的头信息然后产生应答信息返回给客户端,
客户端和服务器端的 WebSocket 连接就建立起来了,双方就可以通过这个连接通道自由的传递信息,
并且这个连接会持续存在直到客户端或者服务器端的某一方主动的关闭连接。 - 参考资料