Что такое сессия

Ответ

Сессия — это временное хранение данных пользователя на сервере между запросами. В отличие от кук, которые хранятся на клиенте, сессия хранится на сервере и идентифицируется уникальным ID (обычно передаётся через куку).

Пример работы:

  1. Пользователь логинится → сервер создаёт сессию с данными (например, user_id)
  2. Сервер отправляет в ответе куку с session_id
  3. При следующих запросах браузер автоматически отправляет эту куку
  4. Сервер по session_id находит данные сессии
// Express.js пример
app.post('/login', (req, res) => {
  req.session.userId = 123; // Записываем данные в сессию
  res.send('Logged in!');
});

app.get('/profile', (req, res) => {
  if (!req.session.userId) return res.status(401).send('Unauthorized');
  res.send(`User ID: ${req.session.userId}`);
});

Особенности:

  • Безопаснее кук (данные на сервере)
  • Истекает при закрытии браузера или по таймауту
  • Требует серверного хранилища (БД, Redis)