一、概念
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。(来自百度百科)
重点:他是一种网络协议、全双工,理解了这两个特点也就对websocket有了一个初步且正确的认识了。
详细描述:
在WebSocket API中,浏览器和服务器只需要做一个握手的动作(是通过http来实现的),然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。
二、websocket与http的关系
http:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。
重点:
区别:http同样是一种网络协议,所以websocket与http是同一层次的概念。
联系:websocket的第一次握手(或者说协议转换)是通过http实现的,由于http的使用太普遍的原因。
三、websocket和socket的关系
关系是没有关系。。。。
他们的关系有点像java和javascript的关系。websocket由于能实现浏览器与服务器的双向通信,可能概念上容易想到socket的长连接通信,于是索性用websocket,通俗易懂,但对于刚接触websocket的朋友来说,确实是个困扰,websocket是个协议,而socket是针对tcp/udp编程抽象出来的便于操作的接口或者说api,完全不是一个层面的东西。