Когда пользователь впервые обращается к веб-сайту, ответ сервера initial
может содержать заголовок SET-Cookie
для установки идентификатора сеанса. Такие, как:Как обрабатывается сеанс?
Set-Cookie: JSESSIONID=04427E42C4AE7A5DD1CCE86B8B5F7110; Path=/TestSite/; HttpOnly
Тогда клиент будет носить его в cookie header
для последующих запросов HTTP: Такие, как:
Cookie: JSESSIONID=04427E42C4AE7A5DD1CCE86B8B5F7110
Мой вопрос:
Так объект реального сеанса некоторые структура данных, созданная и поддерживаемая на сервере. Сервер просто отправляет клиенту
index key
. Когда появятся последующие запросы, сервер будет использовать этот ключ для поиска хранилища данных сеанса на сервере. При необходимости сервер может использовать базу данных для хранения данных сеанса. Правильно ли это изображение?Следующий код Java фактически обрабатывает данные сеанса, которые хранятся
on server
.Though
похоже, что он манипулирует объектом запроса. Правильно?request.getSession().setAttribute("accountId", user.getId());
Следующий код является по существу ключ (SessionID) смотрит вверх процесс. Он ищет объект сеанса
on server
, глядя наsession id
cookiesent from client
. Правильно?Session s = (String) request.getSession();
Есть ли шанс сервер не посылает заголовок
Set-Cookie
? Или это обязательно?Кажется, что магазин с ключевыми значениями, например
Redis
, очень подходит для магазина сеансов. Кто-нибудь пробовал это?