Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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