Ответ
Бэкенд обрабатывает HTTP-запрос через маршрутизацию к API-эндпоинтам. Запрос состоит из трёх основных частей:
- Заголовки (Headers) — метаданные:
Content-Type,Authorization,User-Agent. - Тело (Body) — данные запроса в форматах JSON, XML или
form-data. - Параметры строки запроса (Query Parameters) — для фильтрации и пагинации (например,
?page=2&limit=10).
Типичный процесс обработки:
- Маршрутизация — фреймворк (Express, Django, Spring) направляет запрос на нужный обработчик по URL и методу (GET, POST и т.д.).
- Парсинг и валидация — извлечение и проверка данных из тела и заголовков.
- Аутентификация/авторизация — проверка прав доступа (например, по J-токену в заголовке
Authorization). - Выполнение бизнес-логики — взаимодействие с базой данных, внешними сервисами.
- Формирование ответа — возврат статус-кода (200, 404, 500) и данных (обычно JSON).
Пример на Node.js (Express):
app.post('/api/users', (req, res) => {
// 1. Извлечение данных
const { name, email } = req.body;
const token = req.headers.authorization;
// 2. Базовая валидация
if (!name || !email) {
return res.status(400).json({ error: 'Name and email are required' });
}
// 3. Имитация бизнес-логики (сохранение в БД)
const newUser = { id: Date.now(), name, email };
users.push(newUser);
// 4. Успешный ответ
res.status(201).json({ success: true, user: newUser });
});