Обзор сеансов:
Чтобы избежать проверки имени пользователя и пароля для каждого запроса пользователя, создается сеанс для идентификации пользователя.
Данные сеансавсегда хранится на стороне сервера (с использованием хранилища сеансов) независимо от того, хранится ли он в файловой системе ( не предпочтительно ) или в любом хранилище БД, например Redis или Mongo Store, для сохранения постоянных данных сеанса.
сеансИдентификатор отправляется клиенту и сохраняется в Cookie, чтобы он мог использовать его для идентификации пользователя каждый раз, когда он отправляет запрос на сервер.
Этот идентификатор сеанса, хранящийся в клиенте, отправляется в качестве заголовка запроса и используется для проверки, если пользователь прошел проверку подлинности или не использует данные сеанса, хранящиеся на сервере (присутствующие в хранилище сеансов)
Когда сохраняется сеанс и новый идентификатор сеанса отправляется клиенту?
Всякий раз, когда пользователь отправляет запрос на сервер, сервер проверяет, отправлен ли какой-либо идентификатор сеанса с клиента (сохранен в cookie), если сеансданные находятся в хранилище сеансов, затем пользователь проходит проверку подлинности, в противном случае генерируются новые данные сеанса и клиенту отправляется идентификатор сеанса.
Когда удаляются данные сеанса?
КогдаПользователь выходит из системы (необходимо вызвать правильный API), затем данные сеанса удаляются, следовательно, более старый идентификатор сеанса, сохраненный в файле Cookie клиента, становится недействительным.Затем по следующему запросу, сделанному клиентом, сервер должен сгенерировать новый идентификатор сеанса.
Другой случай, когда идентификатор сеанса необходимо повторно создать, - это когда время сеанса истекает (время истечения можно настроить для файла cookie)..