Какова область действия HTTP-сессии?

Какова область действия HTTP-сессии?

Я гуглил это, но, похоже, не получил прямого ответа. Предполагается, что сеанс очищается, «когда пользователь закрывает свой браузер», но мне это неясно. Означает ли это закрытие окна браузера или выход? браузерное приложение? Поддерживает ли пользователь, у которого одновременно открыто два окна браузера, два разных сеанса? И всегда ли вкладки браузера являются частью одного и того же сеанса?


person Yarin    schedule 17.01.2012    source источник


Ответы (3)


Это будет зависеть от того, как вы отслеживаете сеансы в своем приложении.

По умолчанию они отслеживаются с помощью только HTTP-файлов cookie. Это означает, что если пользователь закроет текущую вкладку, он не потеряет сеанс. Если он закрывает браузер, он теряет сеанс.

Если вы используете режим без файлов cookie для отслеживания сеансов (cookieless="true"), ASP.NET добавит пользовательский токен ко всем URL-адресам, что означает, что пользователь может быть зарегистрирован с двумя разными сеансами на двух разных вкладках одного и того же экземпляра браузера.

person Darin Dimitrov    schedule 17.01.2012
comment
Дарин, можно ли сказать, что для файлов cookie HttpOnly сеанс ограничивается временем существования каждого окна браузера? - person Yarin; 18.01.2012
comment
@Ярин, да, именно об этом я и говорю. И если вы измените что-то на одной вкладке браузера, например, выйдите из системы, вы автоматически выйдете из системы на всех других вкладках, если у вас были активные сеансы. - person Darin Dimitrov; 18.01.2012

Ответ на все ваши вопросы: «Это зависит».

Несколько окон браузера могут быть несколькими сеансами или они могут быть одним и тем же сеансом. Это зависит от поведения браузера и от того, как вы открывали окна.

В IE есть пункт меню «Новое окно» и пункт «Новый сеанс». Опция «Новое окно» сохранит тот же сеанс, опция «Новый сеанс» откроет новое окно с другим сеансом. Вы также можете получить новый сеанс в IE, удерживая клавишу Shift при запуске браузера.

Если вам нужно убедиться, что все сеансы завершены, закройте все окна браузера.

person BNL    schedule 17.01.2012
comment
БНЛ: Что ты имеешь в виду под тем, как ты открывал окна? Можете ли вы уточнить? - person Yarin; 18.01.2012

Сеансовые файлы cookie обычно удаляются при выходе из всего браузера. Поскольку несколько вкладок/окон используют одни и те же файлы cookie, эти вкладки/окна будут использовать один и тот же сеанс.

Однако приложение также может передавать идентификатор сеанса через URL-адрес. В этом случае каждая вкладка/окно будет иметь свой собственный сеанс, если вы не откроете его по ссылке с действительным идентификатором сеанса.

person ThiefMaster    schedule 17.01.2012
comment
ThiefMaster - когда весь браузер закрывается = выйти из приложения браузера? - person Yarin; 18.01.2012