我有一个移动设备通过HTTPS与我的服务器上的RESTful API进行通信。其中一项操作是数据同步,用于将在离线状态下进行的修改推送到服务器,并在服务器上并行执行更新。HTTP状态码是否需要升级仅需要升级到安全通道的信号?
我遇到了一个边缘情况,那个同步操作可能会在现有客户端中静默失败。我已升级客户端上的“同步协议”以正确处理条件。理想情况下,我想让所有较旧的客户端在尝试同步时收到一条消息,告诉他们升级。
通信只是在我的服务器和我的移动客户端之间,所以我意识到我可以返回任意数量的HTTP代码,并通知客户端将来会显示一条消息,建议用户升级并立即停止同步过程。
它会被视为HTTP 426 Upgrade Required返回码的意图的混蛋,用它来表示这一点。每个参考(IETF RFC 2817,Wikipedia)我可以找到说话使用它来发信号通知客户端升级到TLS。是否仅限于定义良好的/安全协议(如SSL和TLS),还是仅在传统上仅用于SSL和TLS的HTTP层的通用升级标志?
如果不是为了这个用例,HTTP 303 See Other会被认为更合适还是有另一个我错过的代码?
[RFC 2616](http://tools.ietf.org/html/rfc2616#section-14.42)说你必须告诉客户端“升级”到什么地方。如果你能适合你的用例,那可能不是混蛋。 ;) – Sven