WebSocket 的功能有哪些?怎么实现它们?

文章导读
上一个 测验 下一个 WebSocket 是 Web 通信历史上的一次重大升级。在它出现之前,Web 客户端与服务器之间的所有通信仅依赖 HTTP。
📋 目录
  1. 针对开发者和架构师的 WebSocket
A A

WebSockets - 功能



上一个
测验
下一个

WebSocket 是 Web 通信历史上的一次重大升级。在它出现之前,Web 客户端与服务器之间的所有通信仅依赖 HTTP。

WebSocket 有助于实现持久的全双工连接的动态流动。全双工指的是通信双方以相当快的速度进行通信。

它被称为游戏规则改变者,是因为它高效地克服了现有协议的所有缺点。

针对开发者和架构师的 WebSocket

WebSocket 对开发者和架构师的重要性 −

  • WebSocket 是一种独立的基于 TCP 的协议,但它设计用于支持任何传统上仅运行在纯 TCP 连接之上的其他协议。

  • WebSocket 是一种传输层,其上可以运行任何其他协议。WebSocket API 支持定义子协议的能力:可以解释特定协议的协议库。

  • 此类协议的示例包括 XMPP、STOMP 和 AMQP。开发者不再需要考虑 HTTP 请求-响应范式。

  • 浏览器端唯一的要求是运行一个 JavaScript 库,该库能够解释 WebSocket 握手、建立并维护 WebSocket 连接。

  • 服务器端,行业标准是使用运行在 TCP 之上的现有协议库,并利用 WebSocket Gateway。

下图描述了 WebSocket 的功能 −

Web

WebSocket 连接通过 HTTP 发起;HTTP 服务器通常将 WebSocket 握手解释为 Upgrade 请求。

WebSocket 可以作为现有 HTTP 环境的补充插件,也可以提供添加 Web 功能所需的底层设施。它依赖于更高级的全双工协议,允许数据在客户端和服务器之间双向流动。

WebSocket 的功能

WebSocket 在 Web 服务器和客户端之间提供连接,使得双方都可以开始发送数据。

建立 WebSocket 连接的步骤如下 −

  • 客户端通过称为 WebSocket 握手的过程建立连接。

  • 该过程从客户端向服务器发送常规 HTTP 请求开始。

  • 请求 Upgrade 头部。在该请求中,它通知服务器该请求是用于 WebSocket 连接。

  • WebSocket URL 使用 ws 方案。它们也用于安全 WebSocket 连接,相当于 HTTPS。

初始请求头部的简单示例如下 −

GET ws://websocket.example.com/ HTTP/1.1
Origin: http://example.com
Connection: Upgrade
Host: websocket.example.com
Upgrade: websocket