【译】 WebSocket 协议第十二章——使用其他规范中的WebSocket协议

1,324 阅读2分钟

概述

本文为 WebSocket 协议的第十二章,本文翻译的主要内容为如何使用其他规范中的 WebSocket 协议。

有兴趣了解该文档之前几章内容的同学可以见:

使用其他规范中的WebSocket协议(协议正文)

WebSocket协议旨在由另一规范使用,以提供动态作者定义内容的通用机制。例如,在定义脚本 API 的规范中定义 WebSocket 协议。

例如一个规范首先需要建立 WebSocket 连接,提供该算法:

  • 目标资源,包含一个主机名(host)和一个端口(port)
  • 资源名称,允许在一个主机和端口上识别多个服务。
  • 安全标记,当这个值为 true 时,连接应该被加密,如果为 false 时则不需要。
  • 原始RFC6454的ASCII序列化,负责连接。
  • 可选的,基于 WebSocket 连接的通过一个字符串定义的协议。

主机端口资源名称安全标记通常是使用解析 WebSocket URI 组件,通过 URI 来获取。如果 URI 中没有指定这些 WebSocket 字段,那么这个解析将失败。

如果在任意时间连接被关闭了,那么规范需要使用关闭 WebSocket 连接算法(第 7.1.1 节)。

第 7.1.4 节定义了什么时候WebSocket 连接关闭

当连接打开时,文档需要处理收到一条 WebSocket 消息(第 6.2 节)的场景。

为了向已经建立的连接发送一些数据,文档需要处理发送 WebSocket 消息(第 6.1 节)。