【websocket】01. websocket基础介绍
1. 什么是websocket?
其实websocket是一种『协议』,WebSocket协议在建立连接时会使用到HTTP协议,但不是说websocket协议就是基于HTTP协议实现。
2. 为什么用websocket?什么场景下使用?
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。
2.1 HTTP协议与Websocket协议通信方式
- websocket是双向通信,只有在初始建立链接的情况下是使用的HTTP的『请求-响应』模式交互,建立连接后则是双向通信。
- HTTP全部都是『请求-响应』的单向通信。
- websocket的双向通信比HTTP的单向通信效率更高。
2.2 为什么用websocket?
- HTTP不支持长连接。新的HTTP协议可能支持
keep alive但是只是保持连接,也就是说,在一个HTTP1.1连接中,可以发送多个Request,接收多个Response。但是每个 Request = Response , 在HTTP中是不变的且response是被动的,无法主动发送response。 - 支持双向通信,有更强的通信能力。服务端可以主动进行推送,客户端也可以实时与服务端进行通信。
- 更少的资源开销,当websocket建立连接后,通信协议控制的数据包Header较小,省去很多开销。
2.3 使用场景
- 网页游戏开发,端到端实时通信
- 网页聊天
- 股票行情等类似实时性推送