Вопрос проверяет понимание основных протоколов и технологий для взаимодействия клиентского приложения с серверной частью, что необходимо для выбора правильного подхода в зависимости от требований проекта.
Взаимодействие клиентского приложения (frontend) с серверной частью (backend) является основой современных веб- и мобильных приложений. Выбор технологии зависит от требований к данным: нужна ли простая загрузка информации, мгновенные обновления или двусторонняя связь.
REST (Representational State Transfer) — это архитектурный стиль, использующий стандартные HTTP-методы. Каждый запрос независим и содержит всю необходимую информацию для его обработки. Данные обычно передаются в форматах JSON или XML.
// Пример запроса на JavaScript с использованием fetch
fetch('https://api.example.com/users')
.then(response => response.json())
.then(data => console.log(data));
// Сервер возвращает массив пользователей в JSON.WebSocket — это протокол связи поверх TCP, обеспечивающий полнодуплексный (двусторонний) канал между клиентом и сервером. После установки соединения (handshake) данные могут передаваться в обе стороны с минимальными накладными расходами.
// Клиентская часть на JavaScript
const socket = new WebSocket('wss://echo.websocket.org');
socket.onopen = () => socket.send('Привет!');
socket.onmessage = event => console.log('Сообщение:', event.data);SignalR — это библиотека для ASP.NET, которая упрощает добавление функций реального времени. Она автоматически выбирает лучший доступный транспорт (WebSocket, Server-Sent Events, long polling) и предоставляет высокоуровневый API для управления соединениями и рассылки сообщений группам клиентов.
// Пример хаба на сервере (ASP.NET Core)
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
// Рассылка сообщения всем клиентам
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}Вывод: Используйте REST API для большинства стандартных операций с данными, WebSocket — когда критически важна минимальная задержка и постоянный поток данных, а SignalR — для упрощённой разработки real-time функций в экосистеме .NET.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм