Skip to main content
server/discover 允许客户端在发送任何其他请求之前,查询服务器支持的协议版本、能力和身份信息。服务器 MUST 实现它。

请求

除标准 _meta 外,请求不携带正文参数:

响应

服务器会回复其支持的协议版本、能力和身份信息。此操作支持缓存

响应字段

何时调用

客户端调用 server/discover 是可选的;客户端可以直接内联调用任意 RPC,并在服务器不支持所请求版本时处理 UnsupportedProtocolVersionError。不过,server/discover 在两种场景中很有用:
  • 前置版本选择。 客户端在发送任何其他请求前获知服务器支持的版本,从而避免一次往返错误。
  • stdio 向后兼容探测。 在 stdio 上,没有可驱动回退的逐请求 HTTP 状态码。同时支持现代服务器(逐请求 _meta)和旧版服务器(initialize 握手)的客户端 SHOULD 先发送 server/discover;回退规则见 stdio:向后兼容
完整的版本选择流程见协议版本协商。对于未知方法返回的 HTTP 特定状态码,请参阅传输中的协议版本标头章节。