WebSocket 是什么原理?为什么可以实现持久连接

如题所述

WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信
现很多网站为了实现即时通讯,所用的技术都是轮询。轮询是在特定的的时间间隔,由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求,然而HTTP request 的header是非常长的,里面包含的数据可能只是一个很小的值,这样会占用很多的带宽。
而最比较新的技术去做轮询的效果是Comet – 用了AJAX。但这种技术虽然可达到全双工通信,但依然需要发出请求。
在 WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket 协议中,为我们实现即时服务带来了两大好处:
1. Header
互相沟通的Header是很小的-大概只有 2 Bytes
2. Server Push
服务器可以主动传送数据给客户端
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-19
其实就是握了次手,建了个信道,具体原理底层和SOCKET差不多,只不过websocket浏览器做了大部分工作
相似回答