WebSocket
WebSocket是一种在单个TCP连接上进行全双工通信的协议(由HTML5定义)。在WebSocket API中 浏览器和服务器只需要完成一次握手(指建立TCP连接(三次握手--HTTP报文数据)后再传输一次握手数据--ws报文数据数据),两者之间就可以直接创建持久性的连接,并且进行双向数据传输。
其他特点包括:
-
建立在 TCP 协议之上,服务器端的实现比较容易,
通过 HTTP/1.1 协议的101状态码进行握手
。 -
数据格式比较轻量,更好的压缩效果,性能开销小,通信高效。
-
可以发送文本,也可以发送二进制数据。
-
没有同源限制,客户端可以与任意服务器通信。
-
协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。
-
与 HTTP 协议有着良好的兼容性。默认端口也是
80
和443(TLS)
,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP代理服务器。ws://example.com/wsapi wss://secure.example.com/
为了创建Websocket连接,需要通过浏览器发