После успешного логина сервер создает сессию — уникальный идентификатор, который связывается с данными пользователя на сервере. Этот идентификатор (обычно в виде cookie) отправляется клиенту. При последующих запросах браузер автоматически отправляет этот cookie, и сервер по нему определяет пользователя, не требуя повторной авторизации.
Мы заходим на сайт, авторизуемся по логину и паролю, а затем открываем личную страницу и сообщения без повторного ввода пароля. Как это работает?
После успешного логина сервер создает сессию — уникальный идентификатор, который связывается с данными пользователя на сервере.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
После успешного логина сервер создает сессию — уникальный идентификатор, который связывается с данными пользователя на сервере. Этот идентификатор (обычно в виде cookie) отправляется клиенту. При последующих запросах браузер автоматически отправляет этот cookie, и сервер по нему определяет пользователя, не требуя повторной авторизации.
Пример: при логине сервер возвращает Set-Cookie: sessionId=abc123; HttpOnly. Браузер сохраняет cookie и при каждом запросе отправляет его в заголовке Cookie: sessionId=abc123. Сервер ищет сессию по sessionId и, если она валидна, считает пользователя авторизованным.
В современных SPA часто используют JWT (JSON Web Token), который хранится в localStorage или cookie и отправляется в заголовках Authorization. Сервер проверяет токен и аутентифицирует пользователя без сессий на сервере.