Прикладной обмен можно перенести на WebSocket, но придётся самостоятельно определить запросы, ответы, ошибки, повторные подключения и восстановление состояния.
Можно ли полностью построить обмен между клиентом и сервером на WebSocket? Какие у этого решения минусы и как его реализовать?
Прикладной обмен можно перенести на WebSocket, но придётся самостоятельно определить запросы, ответы, ошибки, повторные подключения и восстановление состояния.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Прикладной обмен можно перенести на WebSocket, но придётся самостоятельно определить запросы, ответы, ошибки, повторные подключения и восстановление состояния.
Добавьте тип сообщения, request ID, версию протокола, ограничения размера и серверную проверку прав. Для reconnect нужны дедупликация и стратегия синхронизации. Минусы — сложнее кеширование, наблюдаемость и масштабирование соединений; для файлов и обычных CRUD-запросов HTTP часто проще. Само установление WebSocket всё равно использует web-протоколы.