HTTPS 経由でサーバー上の RESTful API と通信するモバイル デバイスがあります。操作の 1 つは、オフライン中に行われた変更をサーバーにプッシュし、サーバー上で並行して行われた更新をプルダウンするデータ同期です。
その同期操作が既存のクライアントでサイレントに失敗するエッジ ケースに遭遇しました。この状態を適切に処理するために、クライアントの「同期プロトコル」をアップグレードしました。理想的には、すべての古いクライアントが同期しようとしたときに、アップグレードするように伝えるメッセージを受信するようにしたいと考えています。
通信はサーバーとモバイル クライアントの間でのみ行われるため、任意の数の HTTP コードを返し、クライアントに信号を送信して、ユーザーにアップグレードして同期プロセスをすぐに停止するようにアドバイスするメッセージを表示することができます。
HTTP 426 Upgrade Required リターン コードを使用してこれを通知することは、意図の粗悪品と見なされますか。私が見つけることができるすべての参照 ( IETF RFC 2817、ウィキペディア) は、それを使用してクライアントに TLS にアップグレードするように通知することについて語っています。SSL や TLS などの明確に定義された/セキュリティ プロトコルに限定することを意図したものですか、それとも従来 SSL と TLS にのみ使用されてきた HTTP レイヤーの一般的なアップグレード フラグですか?
このユースケースを意図していない場合、HTTP 303 See Other がより適切であると見なされますか、それとも欠落している別のコードがありますか?