У меня есть мобильное устройство, взаимодействующее через HTTPS с RESTful API на моих серверах. Одной из операций является синхронизация данных с целью изменения настроек, сделанных в автономном режиме на сервере, и вытаскивание обновлений, сделанных параллельно на сервере.Является ли код статуса HTTP 426 Обновление Требуется только означало, что требуется обновление до безопасного канала?
Я столкнулся с краевым корпусом, где эта операция синхронизации может терпеть неудачу в существующем клиенте. Я обновил «протокол синхронизации» на клиенте, чтобы правильно обработать это условие. В идеале я хотел бы, чтобы все более старые клиенты получали сообщение, когда они пытались синхронизировать их, чтобы обновить их.
Связь только между моим сервером и моим мобильным клиентом, поэтому я понимаю, что могу возвращать любое количество HTTP-кодов и сигнализировать клиенту отображать сообщение в будущем, предлагая пользователю обновить и немедленно остановить процесс синхронизации.
Будет ли это рассматриваться как уловка намерения HTTP 426 Upgrade Обязательный код возврата, чтобы использовать его для оповещения об этом. Каждая ссылка (IETF RFC 2817, Wikipedia) Я могу найти, чтобы использовать ее, чтобы сигнализировать клиенту об обновлении до TLS. Должен ли он ограничиваться четко определенными/протоколами безопасности, такими как SSL и TLS, или это общий флаг обновления на уровне HTTP, который использовался только для SSL и TLS традиционно?
Если это не предназначено для этого случая использования, HTTP 303 See Other считается более подходящим или есть другой код, который мне не хватает?
[RFC 2616] (http://tools.ietf.org/html/rfc2616#section-14.42) говорит, что вам нужно будет сообщить клиенту, что нужно «обновить». Если вы подойдете к этому варианту использования, это, вероятно, не упадка. ;) – Sven