Ответ
Сервер идентифицирует пользователя между запросами с помощью механизмов сессий и куки:
- Куки (Cookies)
При первом обращении сервер отправляет в ответе уникальный идентификатор сессии (например,sessionid=abc123). Браузер сохраняет его и автоматически включает в заголовки последующих запросов.
Set-Cookie: sessionid=abc123; Path=/; HttpOnly
- Сессии
Сервер хранит данные сессии (например, в памяти или БД) по этому ID. При новом запросе он извлекает данные по полученномуsessionid.
Альтернативы:
- JWT-токены в заголовке
Authorization - Локальное хранилище браузера + ручная передача токена
Пример проверки сессии в Express.js:
app.get('/profile', (req, res) => {
if (!req.session.user) {
return res.status(401).send('Not authenticated');
}
// Пользователь опознан
});