【发布时间】:2020-06-19 15:48:44
【问题描述】:
客户端发起 websocket 握手,并可以指定一个自定义的 URI 路径来使用。
GET **/chat** HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Origin: http://example.com
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
websocket uri 采用以下形式: ws-URI = "ws:" "//" host [ ":" port ] path [ "?" query ]
如果我部署了一个监听ws://localhost:8080/ 的 websocket 服务器,并且一个客户端使用以下 uri ws://localhost:8080/chat 在那里连接,有什么区别?为什么路径组件甚至是必要的?它只是为了负载平衡吗?还是这些“端点”是孤立的?
RFC 中的以下声明让我很困惑:
GET 方法 [RFC2616] 的“Request-URI”用于标识 WebSocket 连接的端点,都允许多个域 从一个 IP 地址提供服务并允许多个 WebSocket 由单个服务器提供服务的端点。 (HERE)
【问题讨论】: