概述
本文為WebSocket協議的第三章,本文翻譯的主要內容為WebSocket連線的相關URI地址介紹。
WebSocket URIs(第三章協議正文)
這個規範使用在RFC5234中的ABNF語法以及URI規範中的RFC3986的術語和ABNF產品定義了兩套方案。
ws-URI = "ws:" "//" host [ ":" port ] path [ "?" query ]wss-URI = "wss:" "//" host [ ":" port ] path [ "?" query ]host = <
host, defined in [RFC3986](https://tools.ietf.org/html/rfc3986#section-3.2.2), 3.2.2節>
port = <
port, defined in [RFC3986](https://tools.ietf.org/html/rfc3986#section-3.2.3), 3.2.3節>
path = <
path-abempty, defined in [RFC3986](https://tools.ietf.org/html/rfc3986#section-3.3), 3.3節>
query = <
query, defined in [RFC3986](https://tools.ietf.org/html/rfc3986#section-3.4), 3.4節>
複製程式碼
埠欄位是可選的,預設的”ws”埠是80,而預設的”wss”埠是443。
命中不論大小寫的”wss”方案欄位就表明這個URI可以被稱為安全的(已經設定安全標記)。
“resource-name”欄位(在4.1節也被稱為/resouce name/欄位)可以通過以下的資料串聯起來:
- “/”,表示路徑(path)欄位為空
- 路徑(path)欄位
- “?”,表示非空的查詢引數(query)
- 空查詢引數(query)
在WebSocket URIs的裡,身份標識片段是沒有意義的,而且禁止實用在這些URI裡面。與任何的URI方案一樣,”#”字元不是表示片段(fragment)開始時,都必須編碼為%23
。