【发布时间】:2012-11-24 20:49:12
【问题描述】:
将 HTTP 连接升级到 websocket 时,可以在可选的 HTTP 标头“Sec-WebSocket-Protocol”中提供一个或多个子协议。
如果服务器接受任何子协议,它会使用 HTTP 响应代码 101(“HTTP/1.1 101 切换协议”)进行响应,并包含指示所选子协议的 HTTP 标头“Sec-WebSocket-Protocol”。
但是服务器应该如何正确处理未知/不受支持的子协议呢?
这是否应该在 HTTP 连接“内”完成——通过使用一些 HTTP 响应代码?
或者是否应该将连接升级到 websocket - 并通过发送带有一些预定义 websocket 状态代码的“关闭帧”立即被服务器关闭?
RFC6455 是怎么说的?我无法得出结论。 现有的服务器实现如何处理它?
问候 /每/
【问题讨论】:
-
据我了解,第 4.2.2 节对此有一些信息:“如果服务器不希望同意建议的子协议之一 (...)”,但尚不完全清楚连接会发生什么。
标签: http websocket http-response-codes