简单解释:
Websocket是一种在单个TCP连接上进行全双工通讯的协议
在Websocket协议中,客户端和服务端只需要做一个握手的动作,就能形成一条通道,两者之间可以进行数据互相传送。
所以WebSocket协议分为两部分:
- 握手协议
- 数据传输协议
握手协议
- WebSocket 是独立的、创建在TCP上的协议。
- Websocket 通过 HTTP/1.1 协议的
101
状态码进行握手。 - 为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(Handshaking)。
数据传输协议
WebSocket使用帧来传输数据。帧是WebSocket协议中的基本单位,包含了数据的类型、长度和内容。客户端和服务器可以发送多个帧,每个帧都有一个唯一的标识符,以便在接收端进行识别。这使得数据传输更加灵活和高效。
协议升级
当客户端向服务器发送一个WebSocket请求时,服务器会返回一个HTTP 101状态码,表示协议已经升级。在协议升级后,客户端和服务器之间的通信就不再是基于HTTP协议,而是基于WebSocket协议。这意味着服务器可以主动向客户端发送数据,而不需要等待客户端的请求。
Comments | NOTHING