注册特殊URI方案ws
和wss
的原因是什么?我简单地阅读了规范,没有发现任何关于此更改的原因。
https://www.rfc-editor.org/rfc/rfc6455#section-11.1
WebSocket客户端发送特殊的头(Connection: Upgrade
,Upgrade: websocket
),让你相对容易地决定这是一个普通的HTTP请求(GET
,POST
等)还是一个WebSocket连接请求。
为什么WebSockets不能使用http
和https
方案?
2条答案
按热度按时间zfycwa2u1#
我不是董事会成员,但这里有两个......
该协议的握手目前使用HTTP(S)建立连接,但这是HTTP参与的范围。
未来的版本很可能会使用ALPN等技术来扩展握手的可能性。
通过使用URI方案
ws://...
和wss://...
,握手与URI解耦,允许未来的更改以更少的干扰发生。bvhaajcl2#
他们使用它是为了架构清晰,看起来没有技术限制,为什么你不能使用纯粹的
http
处理你的WebSocket连接。请注意,用于处理WebSocket连接(如Paho)的JavaScript客户端库纯粹是通过http协议处理WebSocket的,如果您显式地提供以
ws
协议为前缀的主机,甚至会失败-来自展示代码的一个简单示例:字符串