2012-01-17 22 views
18

Czym dokładnie jest zakres sesji HTTP?Jaki jest zakres sesji HTTP?

Przeszukałem to, ale nie mogę uzyskać prostej odpowiedzi - sesja powinna zostać wyczyszczona "kiedy użytkownik zamyka przeglądarkę", ale to jest dla mnie niejasne. Czy to oznacza zamknięcie przeglądarki okno lub zamknięcie aplikacji przeglądarki? Czy użytkownik z dwoma oknami przeglądarki otwiera jednocześnie dwie różne sesje? Czy zakładki przeglądarki zawsze są częścią tej samej sesji?

Odpowiedz

13

Zależy to od sposobu śledzenia sesji w aplikacji.

Domyślnie są one śledzone przez HttpOnly cookies. Oznacza to, że jeśli użytkownik zamknie bieżącą kartę, nie traci sesji. Jeśli zamknie przeglądarkę, to straci sesję.

Jeśli korzystasz z trybu bez plików cookie do śledzenia sesji (cookieless="true"), program ASP.NET dołączy niestandardowy token do wszystkich adresów URL, co oznacza, że ​​użytkownik może być zalogowany w 2 różnych sesjach na 2 różnych kartach tej samej instancji przeglądarki.

+0

Darin- czy powiedziałbyś, że w przypadku plików cookie HttpOnly sesja obejmuje zasięg każdego okna przeglądarki *? – Yarin

+0

@ Yarin, tak, dokładnie to mówię. A jeśli zmienisz coś na jednej karcie przeglądarki, na przykład wylogujesz się, automatycznie wylogujesz się na wszystkich innych zakładkach, jeśli masz aktywne sesje. –

5

Odpowiedź na wszystkie pytania to "to zależy".

Wiele okien przeglądarki może składać się z wielu sesji lub może być tą samą sesją. Zależy to od zachowania przeglądarki i sposobu otwierania okien.

W IE dostępna jest opcja menu "Nowe okno" i jedna dla "Nowa sesja". Opcja "Nowe okno" zachowa tę samą sesję, opcja "Nowa sesja" otworzy nowe okno z inną sesją. Możesz także uzyskać nową sesję w IE, przytrzymując klawisz Shift podczas uruchamiania przeglądarki.

Jeśli musisz mieć pewność, że wszystkie sesje zostały zakończone, zamknij wszystkie okna przeglądarki.

+0

BNL - Co masz na myśli mówiąc "jak otworzyłeś okna"? Czy możesz rozwinąć? – Yarin

+0

Edytowane w objaśnieniu. – BNL

+0

OK, dziękuję bardzo, życzę, żebym mógł dać ci częściowy kredyt. – Yarin

3

Pliki cookie sesji są zwykle usuwane po opuszczeniu całej przeglądarki. Ponieważ wiele kart/okien udostępnia te same pliki cookie, te karty/okna będą korzystać z tej samej sesji.

Jednak aplikacja może również przekazać identyfikator sesji za pośrednictwem adresu URL. W tym przypadku każda karta/okno będzie mieć własną sesję, o ile nie otworzy się jej przez łącze z poprawnym identyfikatorem sesji.

+0

ThiefMaster - "kiedy cała przeglądarka wychodzi" = opuścić aplikację przeglądarki? – Yarin

Powiązane problemy