响应WebSocket升级请求
我有一个WebSocket服务器,可以从不同的客户端获取WebSocket升级请求。根据请求的查询或路径参数,有时服务器需要拒绝这些升级请求。服务器需要取消握手,不是因为它不支持协议,也不是因为客户端违反了协议,而是因为前面提到的其他原因 在这种情况下,是否有标准的状态代码来响应?似乎没有为此情况定义响应状态代码。还提到,如果客户端违反协议,服务器应响应“400错误请求”,但如果服务器只是出于其他原因取消握手,则未提及要发送的响应响应WebSocket升级请求,websocket,Websocket,我有一个WebSocket服务器,可以从不同的客户端获取WebSocket升级请求。根据请求的查询或路径参数,有时服务器需要拒绝这些升级请求。服务器需要取消握手,不是因为它不支持协议,也不是因为客户端违反了协议,而是因为前面提到的其他原因 在这种情况下,是否有标准的状态代码来响应?似乎没有为此情况定义响应状态代码。还提到,如果客户端违反协议,服务器应响应“400错误请求”,但如果服务器只是出于其他原因取消握手,则未提及要发送的响应 服务器可以选择使用任何状态代码响应而不违反协议吗?对于这些URL
服务器可以选择使用任何状态代码响应而不违反协议吗?对于这些URL,服务器可以响应,就好像它不知道任何关于WebSocket的信息一样。因此,一个普通的400错误是完全正确的。您不需要在正文中显示任何进一步的信息,也不需要添加任何进一步的标题 在更大的服务器设置中,通常有一个反向代理,它接受每个传入的请求,并根据URL将这些请求转发给相应的应用程序。如果基于HTTP的协议要求该反向代理必须知道所有协议,那么这将是一个真正的问题 一旦发送了客户的开场握手,客户必须 在发送任何进一步的数据之前,请等待服务器的响应。 客户端必须验证服务器的响应,如下所示: