【譯】 WebSocket 協議第十二章——使用其他規範中的WebSocket協議

黃Java發表於2019-02-18

概述

本文為 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 節)。

相關文章