Обычно для обмена информацией между сервером и клиентом люди используют HTTP REST (POST, PUT, GET, DELETE) и возможно еще какую то точку нотификации (HTTP GET или websocket) для отправки данных от сервера клиенту.
Те есть точка добавления/изменения данных (REST), точка получения данных (REST), точка получения данных/нотификаций (HTTP GET или websocket).
Но вот положим отправляешь ты с клиента на сервер запрос, а соединение прервалось и ты не знаешь исполнился твой запрос или нет. Может он не исполнился, а может исполнился но ответ ты не получил это ведь не нормально. Можно потом этот ответ получать скажем в точке нотификации (websocket это HTTP GET не важно).
А можно изначально не ждать ответа, а серверу отправлять только запросы через точку добавления/изменения данных, а ответы асинхронно всегда получать в точке нотификации.
Как вам такой концепт? Точка получения данных - для получения данных на старте. Точка добавления/изменения данных - для отправки команд на сервер без ответа. Точка нотификации для получения ответов на команды и возможно измененных данных, а так же внешних нотификаций. Это могут быть как HTTP запросы, так и websocket запросы, важно что это уже не REST в изначальной концепции.
Возможно это напоминает какие-то существующие фреймфорки, не знаю, обычно использую свои велосипеды)))
rest, websocket