23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
|
---
|
||
|
obj: concept
|
||
|
wiki: https://en.wikipedia.org/wiki/WebSocket
|
||
|
rfc: https://datatracker.ietf.org/doc/html/rfc6455
|
||
|
website: https://websockets.spec.whatwg.org
|
||
|
---
|
||
|
|
||
|
# WebSocket
|
||
|
WebSockets provide a bidirectional communication channel over a single, long-lived connection. This enables real-time, low-latency data exchange between a client and a server.
|
||
|
|
||
|
## WebSocket Protocol
|
||
|
### 1. **WebSocket Handshake:**
|
||
|
The WebSocket handshake is an [HTTP](HTTP.md)-based protocol that establishes a connection between the client and server. Once established, the connection switches to the WebSocket protocol.
|
||
|
### 2. **WebSocket Frames:**
|
||
|
Messages in WebSockets are sent as frames. Frames can be text, binary, or control frames used for connection management.
|
||
|
|
||
|
## Usage and Benefits
|
||
|
### 1. **Real-Time Applications:**
|
||
|
WebSockets are ideal for real-time applications like live chats, online gaming, financial trading, and collaborative tools.
|
||
|
### 2. **Reduced Latency:**
|
||
|
The persistent connection minimizes latency compared to traditional [HTTP](HTTP.md), making WebSockets suitable for applications requiring low-latency communication.
|
||
|
### 3. **Efficient Data Transfer:**
|
||
|
WebSockets use a compact binary frame format, reducing the overhead associated with text-based protocols.
|