Вопрос проверяет знание базовых протоколов и технологий клиент–серверного взаимодействия.
Чаще всего клиенты взаимодействуют с backend по HTTP. Поверх него используются REST и иногда GraphQL. Для высокопроизводительных систем применяется gRPC. В реальном времени используют WebSocket. Выбор технологии зависит от требований к задержкам, формату данных и нагрузке.
Взаимодействие клиента с backend строится вокруг стандартных сетевых протоколов.
HTTP / HTTPS
HTTP является базовым протоколом для большинства backend-приложений. HTTPS добавляет шифрование и используется по умолчанию.
WebSocket
Позволяет установить постоянное двустороннее соединение между клиентом и сервером.
REST
Основан на HTTP
Использует JSON
Прост в использовании
GraphQL
Клиент сам описывает, какие данные ему нужны
Снижает количество запросов
gRPC
Использует HTTP/2
Бинарный протокол
Подходит для сервис–сервис взаимодействия
HTTP и REST остаются стандартом для большинства клиентов, но для специфических задач применяются WebSocket, GraphQL и gRPC.