Сессия JSP для каждого IP-адреса или для каждого браузера - PullRequest
1 голос
/ 18 июня 2010

Я хочу знать, был ли создан один сеанс для каждого IP-адреса или для каждого экземпляра браузера?

Я открыл свое приложение JSP в трех окнах браузера. Это создает три разные сессии? Предположим, я хочу использовать один сеанс для нескольких экземпляров браузера, это возможно или нет?

1 Ответ

1 голос
/ 18 июня 2010

Нет, это невозможно (на самом деле, это немного зависит от того, как вы определяете «экземпляр браузера»).Сессия проходит под капотом, поддерживаемым HTTP cookie .Такой файл cookie зависит от конкретного экземпляра браузера.Каждый экземпляр браузера имеет свой собственный набор файлов cookie, которые сохраняются отдельно в файловой системе диска.Его нельзя разделить между разными браузерами (IE, FF, Chrome и т. Д.).Тем не менее, он разделяется между различными вкладками / окнами одного и того же экземпляра браузера.

Однако вы можете получить IP-адрес, используя HttpServletRequest#getRemoteAddr() и сохранить информацию в более широкой области вдоль IP-адреса какключ, например, область приложения или базы данных.Однако у этого есть некоторые проблемы: это не будет различать нескольких пользователей за одним и тем же IP-адресом, например сеть большой компании за прокси-сервером.Это также не будет работать для людей с динамическими, а не статическими IP-адресами.

Файл cookie или механизм аутентификации пользователя (регистрация, вход в систему и т. Д.) Является наиболее надежным способом отслеживания уникального и индивидуального пользователя средиразные HTTP-запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...