WebSocket 是什么?
简单理解:WebSocket 是一种让浏览器和服务器之间保持长期双向通信的协议
传统 HTTP 是:
客户端请求
|
↓
服务器响应
|
↓
连接结束
例如打开网页,HTTP 是“一问一答”:
浏览器:
我要首页
服务器:
给你 index.html
结束
但是很多场景需要服务器可以主动不断推送数据给客户端,例如:
- 聊天软件
- 股票行情
- 游戏
- 在线终端
- 远程桌面
如果用普通的 HTTP一问一答,每次发起新请求,非常浪费资源:
客户端:有没有新消息?
服务端:没有
过1秒
客户端:有没有新消息?
服务端:没有
WebSocket 就解决这个问题,建立一次连接:
浏览器
|
|
WebSocket
|
|
服务器
连接一直保持这,服务器可以随时向浏览器发送数据,浏览器也可以随时向服务器发送数据:
服务器 ---> 浏览器
推送数据
浏览器 ---> 服务器
发送数据
所以:WebSocket = Web + Socket(双向长连接)


