Skip to content

WebSocket

介绍

WebSocket 是一种在客户端与服务器之间保持 TCP 长连接的协议,这样它们就可以随时进行信息交换。

虽然任何客户端或服务器上的应用都可以使用 WebSocket,但原则上还是指浏览器与服务器之间使用。通过 WebSocket,服务器无需客户端预先请求就可以直接向客户端发送数据,从而能动态地更新数据内容。

http/https vs ws/wss

http/httpsws/wss 是两种不同的网络协议:

  • http/https 用于在客户端和服务器之间传输数据,是 Web 的基础协议。
  • ws/wssWebSocket 协议的两种连接方式,用于在客户端和服务器之间建立双向通信通道。

http/httpsws/wss 的区别主要体现在以下几个方面:

  • 传输方式:
    • http/https 使用 TCP 协议进行传输,是 单向 通信,即客户端只能向服务器发送请求,服务器只能向客户端发送响应。
    • ws/wss 也使用 TCP 协议进行传输,但是是 双向 通信,即客户端和服务器都可以向对方发送数据。
  • 数据格式:
    • http/https 使用 HTTP 协议进行数据格式化,数据以明文形式传输。
    • ws/wss 使用 WebSocket 协议进行数据格式化,数据可以进行加密传输。
  • 应用场景:
    • http/https 主要用于传输静态资源,如 HTML、CSS、JavaScript 等,也可以用于传输动态数据,如 JSON、XML 等。
    • ws/wss 主要用于实时通信,如聊天、游戏、股票行情等。

ws/wsshttp/https 的关系可以类比为:

  • ws/wssWebSocket 协议的两种连接方式,而 WebSocket 协议是建立在 HTTP 协议之上的。
  • wssWebSocket 协议的加密版本,而 HTTPSHTTP 协议的加密版本。

参阅

基于 MIT 许可发布