WebSocket
一、WebSocket是什么?
WebSocket是HTML5 开始提供的一种在单个TCP连接上进行全双工通信的协议 。
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的通传输层信协议 。使用三次握手协议建立连接。 终止一个连接要经过四次握手挥手。
三次握手
四次挥手
全双工(Full Duplex)是通讯传输的一个术语。通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A)。指A→B的同时B→A,是瞬时同步的。
单工就是在只允许甲方向乙方传送信息,而乙方不能向甲方传送 。(比喻汽车的单行道。)
二.WebSocket诞生由来
1.最开始的轮询Polling阶段
现在,很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的 头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。