11. ALTERNATE-SERVER Mechanism (备用服务器机制)
本节描述了 STUN 中的一种机制,该机制允许服务器将客户端重定向到另一个服务器。此扩展是可选的,用法必须 (must) 定义是否以及何时使用此扩展。
使用此扩展的服务器通过使用错误码为 300 (Try Alternate) 的错误响应消息回复请求消息来将客户端重定向到另一个服务器。服务器必须 (MUST) 在错误响应中包含 ALTERNATE-SERVER 属性。错误响应消息可以 (MAY) 被认证; 但是,在某些使用 ALTERNATE-SERVER 的情况下,对响应进行认证是不可能或不实际的。
使用此扩展的客户端按如下方式处理 300 (Try Alternate) 错误码。客户端在错误响应中查找 ALTERNATE-SERVER 属性。如果找到,则客户端将当前事务视为失败,并使用属性中指定的服务器重新尝试请求,使用与先前请求相同的传输协议。如果该请求经过认证,则必须 (MUST) 使用客户端在向执行重定向的服务器发出请求时将使用的相同凭证。如果客户端已被重定向到它在过去五分钟内已经尝试过此请求的服务器,它必须 (MUST) 忽略重定向并将事务视为失败。这可以防止在重定向循环的情况下服务器之间的无限往返。