我有一個移動設備通過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