#java #session-cookies #jsessionid
#java #сеансовые файлы cookie #jsessionid
Вопрос:
Я слышал, что ebay использует Java, но я не нашел cookie jsessionid при входе в систему.
Существуют ли альтернативные методы для отслеживания сеансов пользователей? Как избежать использования jsessionid?
Комментарии:
1. Согласно FireCookie
s
, файл cookie на ebay имеет время жизни сеанса иHttpOnly
атрибут — я предполагаю, что этоJSESSIONID
скрыто.2. Имя файла cookie также может быть настроено на стороне сервера.
Ответ №1:
Для достижения этой цели может быть много разных вариантов. Самое простое, что я могу придумать, — это сохранить ваш собственный файл cookie и использовать memcache (или аналогичный) для обмена данными сеанса между всеми вашими серверами.
С этим решением у вас нет проблемы с тем, что ваш сеанс работает только на одном сервере.
Ответ №2:
Я только что проверил, что ebay фактически создал 7 файлов cookie, из которых срок действия 4 истекает, как только я закрываю браузер (один или несколько из них могут быть предназначены для управления сеансами).
Чтобы сохранить информацию о пользовательском сеансе на HTTP, который не имеет состояния, сервер должен предоставить клиенту уникальную идентификацию, которая должна использоваться в последующих запросах к серверу для идентификации его как того же клиента. Эта уникальная идентификация в основном сохраняется в виде файлов cookie, иногда передается снова и снова в качестве параметра запроса или вы можете использовать любой другой подходящий метод, чтобы идентификация не была потеряна.
Насколько я знаю, автоматическую настройку JSESSIONID можно отключить в приложении JSP и использовать наш собственный метод управления сеансами.
<%@ page session="false" %>