Существует ли формальное определение целостности сеанса в отношении сервлетов?

Этот вопрос связан с другим существующим вопросом SO. Метод getSession(boolean) HttpServletRequest упоминает целостность сеанса, но не определяет концепцию.

Я не мог найти официальное определение. Есть ли? Кто-нибудь знает, какие правила формально определяют, когда сеанс в или из целостности? Благодарю.

3 ответа

Решение

Это относится к концепции связи сеанса сервера с сеансом клиента (веб-браузера) с помощью cookie.

Я не уверен, насколько вы знакомы с веб-приложениями на Java, но контейнеры сервлетов могут отслеживать сеансы, добавляя параметр в URL (обычно называемый jsessionid) или отправляя cookie клиенту. Я думаю, что это сбивает с толку, потому что отслеживание сеанса является синонимом целостности сеанса.

Я не думаю, что есть особый смысл для термина "целостность сеанса". Сеанс - это просто хранилище данных, поддерживаемое между пользовательскими запросами на данные конкретного приложения. Хотя клиент предоставляет одинаковые и действительные идентификаторы сеанса в своих запросах, приложение гарантированно будет иметь согласованные данные сеанса, то есть то, что приложение поместило в сеанс, оно также вернется. Итак, я бы относился к "целостности" как к общему пониманию этого слова:

Целостность - это концепция согласованности действий, ценностей, методов, мер, принципов, ожиданий и результатов.

Целостность сеанса определяется контейнером сервлетов. Целостность сеанса означает последовательность сеансов: т.е. отслеживание сеанса.

Контейнер сервлета может использовать (насколько мне известно) 2 типа отслеживания сеанса:

  • Cookie, храня JSESSIONID в печенье.
  • Перезапись URL, добавив JSESSIONID как фрагмент (не как параметр, и есть причины, почему) в URL.

Контейнер сервлета должен убедиться, что он отслеживает свои сеансы с последовательностью.

Ресурсы:

Другие вопросы по тегам