Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 17168|Odpowiedź: 1

[Źródło] Cykl życia sesji

[Skopiuj link]
Opublikowano 19.04.2015 19:44:59 | | |
Wcześniej nie zwracałem na to większej uwagi podczas nauki, ale dziś wróciłem i dokładnie przeanalizowałem cykl życia sesji.
Sesje są przechowywane po stronie serwera i zazwyczaj, aby zapobiec ich umieszczeniu w pamięci serwera (dla szybkiego dostępu), Sessinon tworzy pierwszy raz, gdy użytkownik korzysta z serwera.Należy zauważyć, że tylko dostęp do JSP, Servlet i innych programów tworzy Sesję, a dostęp do statycznych zasobów, takich jak HTML i IMAGE, nie tworzy Sesji.
  Kiedy wygasa sesja?
1. Serwer wyczyści sesję z pamięci serwera, która była nieaktywna przez długi czas, a sesja będzie nieważna. Domyślny czas wygaśnięcia sesji w Tomcat wynosi 20 minut.
2. Wezwanie metody unieważnienia Sesji.
  Wymagania sesji dla przeglądarek:
 Chociaż sesja jest przechowywana na serwerze i jest dla klienta przejrzysta, jej normalne działanie nadal wymaga wsparcia przeglądarki klienta. Dzieje się tak, ponieważ Session musi używać plików cookie jako identyfikatora. Protokół HTTP jest bezstanowy, a sesja nie może być oceniona przez połączenie HTTP, aby ustalić, czy to ten sam klient, dlatego serwer wysyła do przeglądarki klienta ciasteczko o nazwie JSESSIONID, które zawiera wartość id sesji (czyli wartość zwrotną HttpSession.getId()). Session używa ciasteczka do identyfikacji, czy to ten sam użytkownik.

To ciasteczko jest automatycznie generowane przez serwer, a jego atrybut maxAge to zazwyczaj -1, co oznacza, że jest ważne tylko w aktualnej przeglądarce, nie jest współdzielone między oknami przeglądarki i nie będzie ważne po zamknięciu przeglądarki. W związku z tym, gdy dwa okna przeglądarki na tym samym komputerze uzyskują dostęp do serwera, generowane są dwie różne sesje. Z wyjątkiem nowych okien otwieranych przez linki, skrypty itp. w oknie przeglądarki (czyli nie okna otwierane przez podwójne kliknięcie ikon przeglądarki itp.). Te okna potomne dzielą ciasteczko okna nadrzędnego, a tym samym sesję.

Uwaga: Nowe sesje są generowane w nowo otwartych oknach przeglądarki, z wyjątkiem podokien. Okno potomne dzieli sesję okna nadrzędnego. Na przykład, gdy klikniesz prawym przyciskiem myszy na link i wybierzesz "Otwórz w nowym oknie" w menu skrótów, które się pojawi, okno podrzędne może uzyskać dostęp do sesji okna nadrzędnego.

Co jeśli przeglądarka klienta wyłączy pliki cookie lub nie obsługuje ich tak? Na przykład zdecydowana większość przeglądarek mobilnych nie obsługuje plików cookie. Java Web oferuje inne rozwiązanie: przepisywanie adresów URL.
Przepisywanie adresów URL to rozwiązanie dla klientów, którzy nie obsługują plików cookie. Zasada przepisywania adresu URL polega na przepisaniu informacji id sesji użytkownika na adres URL. Serwer może przeanalizować przepisany adres URL, aby uzyskać identyfikator sesji. Dzięki temu, nawet jeśli klient nie obsługuje plików cookie, sesja może być użyta do zapisu stanu użytkownika. Klasa HttpServletResponse zapewnia encodeURL (String URL) do implementacji przepisywania adresów URL, co automatycznie decyduje, czy klient obsługuje ciasteczka. Jeśli klient obsługuje ciasteczka, adres URL zostanie wygenerowany w obecnej formie. Jeśli klient nie obsługuje plików cookie, identyfikator sesji użytkownika jest przepisywany do adresu URL.
Uwaga: TOMCAT decyduje, czy przeglądarka klienta obsługuje pliki cookie, na podstawie tego, czy dane ciasteczko jest zawarte w żądaniu. Chociaż klient może obsługiwać pliki cookie, ponieważ na pierwszym żądaniu nie są przechowywane pliki cookie (ponieważ nie ma plików cookie, które by to umożliwiały), przepisany adres URL nadal będzie miał jsessionid w adresie. Serwer już napisał ciasteczko w przeglądarce przy drugiej wizycie, więc przepisany adres URL nie będzie miał jsessionid w tym emocjonalnym adresie.





Poprzedni:Trik HTML polegający na zmianie obramowania tabeli na cienką linię
Następny:Zbuduj niestandardową pamięć podręczną plików ASP.NET optymalizację wydajności
Opublikowano 18.03.2017 16:52:21 |
Jest bardzo dobrze napisane, ucz się!
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com