概述
本文爲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
。