Как Tomcat поддерживает целостность сеанса?
HttpServletRequest
Метод getSession(логический) упоминает целостность сеанса. Как Tomcat поддерживает целостность сеанса? Какие правила он использует? Какой метод? Что происходит под капотом точно?
РЕДАКТИРОВАТЬ
Как и когда создается конкретный идентификатор сеанса? Tomcat полагается на IP-адрес и порт, например?
2 ответа
В Tomcat ManagerBase.generateSessionId()
Метод отвечает за генерацию идентификатора сессии. Мне кажется, что идентификаторы сессии генерируются на основе случайных чисел. Вы можете сохранить IP-адрес клиента в сеансе и проверить его в своем веб-приложении, но, насколько мне известно, Tomcat этого не делает.
О целостности сессии: не могли бы вы определить это, пожалуйста? Об этом есть параграф в спецификации Java-сервлета версии 3.0, но это не так уж много:
7.1.4 Целостность сеанса
Веб-контейнеры должны поддерживать сеанс HTTP при обслуживании запросов HTTP от клиентов, которые не поддерживают использование файлов cookie. Чтобы выполнить это требование, веб-контейнеры обычно поддерживают механизм перезаписи URL.
В этом блоге приводятся некоторые подробности отслеживания сеансов с использованием файлов cookie с помощью Tomcat.