WebSocket - 功能

  • 简述

    WebSocket 代表了 Web 通信历史上的一次重大升级。在它存在之前,Web 客户端和服务器之间的所有通信都只依赖于 HTTP。
    WebSocket 有助于持久全双工连接的动态流动。全双工是指从两端以相当快的速度进行通信。
    它被称为游戏规则改变者,因为它能够有效克服现有协议的所有缺点。
  • 面向开发人员和架构师的 WebSocket

    WebSocket 对开发人员和架构师的重要性 -
    • WebSocket 是一个独立的基于 TCP 的协议,但它旨在支持传统上仅在纯 TCP 连接之上运行的任何其他协议。
    • WebSocket 是一个传输层,任何其他协议都可以在其上运行。WebSocket API 支持定义子协议的能力:可以解释特定协议的协议库。
    • 此类协议的示例包括 XMPP、STOMP 和 AMQP。开发人员不再需要考虑 HTTP 请求-响应范式。
    • 浏览器端的唯一要求是运行一个能够解释 WebSocket 握手、建立和维护 WebSocket 连接的 JavaScript 库。
    • 在服务器端,行业标准是使用在 TCP 之上运行并利用 WebSocket 网关的现有协议库。
    下图描述了 WebSockets 的功能 -
    网络
    WebSocket 连接通过 HTTP 发起;HTTP 服务器通常将 WebSocket 握手解释为升级请求。
    WebSockets 既可以作为现有 HTTP 环境的补充插件,又可以提供添加 Web 功能所需的基础设施。它依赖于更先进的全双工协议,允许数据在客户端和服务器之间双向流动。

    WebSockets 的功能

    WebSockets 提供了 Web 服务器和客户端之间的连接,以便双方都可以开始发送数据。
    建立 WebSocket 连接的步骤如下:
    • 客户端通过称为 WebSocket 握手的过程建立连接。
    • 该过程从客户端向服务器发送常规 HTTP 请求开始。
    • 请求升级标头。在这个请求中,它通知服务器请求是针对 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