当前位置: 首页 > 教程 > Websocket >

Websocket功能

精华
小牛编辑
179浏览
2023-03-14

Web Socket代表了Web通信历史上的一次重大升级。在它存在之前,Web客户端和服务器之间的所有通信仅依赖于HTTP。

Web Socket有助于动态流动持久全双工的连接。全双工是指来自两端的通信具有相当快的速度。

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

面向开发人员和架构师的Web套接字

Web Socket对开发人员和架构师的重要性 -

  • Websocket是一种独立的基于TCP的协议,但它旨在支持传统上仅在纯TCP连接之上运行的任何其他协议。
  • Websocket是一个传输层,其上可以运行任何其他协议。Websocket API支持定义子协议的能力:可以解释特定协议的协议库。
  • 此类协议的示例包括XMPP,STOMP和AMQP。开发人员不再需要考虑HTTP请求 - 响应范例。
  • 浏览器端唯一的要求是运行一个JavaScript库,它可以解释Websocket握手,建立和维护Websocket连接。
  • 在服务器端,行业标准是使用在TCP之上运行的现有协议库并利用Web套接字网关。

下图描述了Web套接字的功能 -

Web套接字的功能

Web套接字连接通过HTTP启动; HTTP服务器通常将Web Socket握手解释为升级请求。

Web套接字既可以作为现有HTTP环境的补充附件,也可以提供添加Web功能所需的基础结构。它依赖于更先进的全双工协议,允许数据在客户端和服务器之间双向流动。

Web套接字的功能
Web套接字在Web服务器和客户端之间提供连接,以便双方都可以开始发送数据。
建立Web Socket连接的步骤如下 -

  • 客户端通过称为Web Socket握手的进程建立连接。
  • 该过程从客户端向服务器发送常规HTTP请求开始。
  • 请求升级标头。在此请求中,它通知服务器该请求是针对Web Socket连接的。
  • Web Socket URL使用ws方案。它们还用于安全的Web Socket连接,它们等同于HTTP。

初始请求标头的一个简单示例如下 -

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