我有一个通过 HTTPS 与服务器上的 RESTful API 通信的移动设备。其中一项操作是数据同步,以将离线时所做的修改推送到服务器,并下拉服务器上并行进行的更新。
我遇到了一个边缘情况,即同步操作可能在现有客户端中静默失败。我已经升级了客户端上的“同步协议”以正确处理这种情况。理想情况下,我希望所有老客户在尝试同步时都会收到一条消息,告诉他们升级。
通信只是在我的服务器和我的移动客户端之间进行,所以我意识到我可以返回任意数量的 HTTP 代码并向客户端发出信号,以在未来显示一条消息,建议用户升级并立即停止同步过程。
是否会被视为对 HTTP 426 Upgrade Required 返回码的意图的混蛋,以使用它来表示这一点。我能找到的每一个参考资料(IETF RFC 2817,维基百科)都谈到使用它来向客户端发出信号以升级到 TLS。它是否意味着仅限于定义良好的/安全协议,如 SSL 和 TLS,或者它是 HTTP 层的通用升级标志,传统上仅用于 SSL 和 TLS?
如果它不适用于此用例,那么 HTTP 303 See Other 会被认为更合适,还是我缺少其他代码?