Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17168|Svar: 1

[Kilde] Sessionens livscyklus

[Kopier link]
Opslået på 19/04/2015 19.44.59 | | |
Jeg lagde ikke så meget mærke til det, da jeg studerede før, men i dag gik jeg tilbage og studerede omhyggeligt sessionens livscyklus.
Sessioner gemmes på serversiden, og generelt for at forhindre, at de bliver i serverens hukommelse (til højhastighedsadgang), opretter Sessinon første gang brugeren tilgår serveren.Bemærk, at kun adgang til JSP, Servlet og andre programmer vil oprette en session, og kun adgang til statiske ressourcer som HTML og IMAGE vil ikke oprette en session.
  Hvornår udløber en session?
1. Serveren vil slette sessionen fra serverhukommelsen, der har været inaktiv i lang tid, og sessionen vil være ugyldig. Standardudløbstiden for en session i Tomcat er 20 minutter.
2. Kald ugyldiggørelsesmetoden for sessionen.
  Sessionskrav for browsere:
 Selvom sessionen gemmes på serveren og er gennemsigtig for klienten, kræver dens normale drift stadig support fra klientens browser. Dette skyldes, at Session skal bruge cookies som identifikator. HTTP-protokollen er stateless, og sessionen kan ikke bedømmes af HTTP-forbindelsen for at afgøre, om det er den samme kunde, så serveren sender en cookie kaldet JSESSIONID til klientbrowseren, som har værdien af sessionens id (dvs. returværdien af HttpSession.getId()). Session bruger cookien til at identificere, om det er den samme bruger.

Denne cookie genereres automatisk af serveren, og dens maxAge-attribut er normalt -1, hvilket betyder, at den kun er gyldig i den aktuelle browser, ikke deles mellem browservinduer og ikke vil være gyldig, når browseren lukkes. Derfor genereres to forskellige sessioner, når to browservinduer på samme maskine tilgår serveren. Bortset fra nye vinduer, der åbnes via links, scripts osv. i browservinduet (dvs. ikke vinduer åbnet ved dobbeltklik på desktopbrowserikoner osv.). Disse underordnede vinduer deler forældrevinduets cookie og dermed en session.

Bemærk: Nye sessioner genereres i nyåbnede browservinduer, undtagen i undervinduer. Børnevinduet deler sessionen med forældrevinduet. For eksempel, når du højreklikker på et link og vælger "Åbn i nyt vindue" i genvejsmenuen, der popper op, kan undervinduet få adgang til forældrevinduets Session.

Hvad hvis klientbrowseren deaktiverer cookies eller ikke understøtter cookies? For eksempel understøtter langt de fleste mobile browsere ikke cookies. Java Web tilbyder en anden løsning: omskrivning af URL-adresser.
Omskrivning af URL-adresser er en løsning for klienter, der ikke understøtter cookies. Princippet bag omskrivning af URL-adresser er at omskrive id-oplysningerne for brugerens session til URL-adressen. Serveren kan parse den omskrevne URL for at få sessions-id'et. På denne måde kan sessionen, selv hvis klienten ikke understøtter cookies, bruges til at registrere brugerens tilstand. HttpServletResponse-klassen leverer encodeURL (streng-url) til at implementere omskrivning af URL-adresser, hvilket automatisk afgør, om klienten understøtter cookies. Hvis klienten understøtter cookies, vil URL'en blive udleveret, som den er. Hvis klienten ikke understøtter cookies, omskrives brugersessionens id til URL'en.
Bemærk: TOMCAT afgør, om en klientbrowser understøtter cookies baseret på, om en cookie er inkluderet i anmodningen. Selvom klienten måske understøtter cookies, da der ikke medbringes cookies på den første anmodning (fordi der ikke er cookies, der kan), vil den omskrevne URL-adresse stadig have jsessionid i adressen. Serveren har allerede skrevet en cookie i browseren ved andet besøg, så den omskrevne URL-adresse vil ikke have jsessionid i adressen.





Tidligere:HTML-trick til at ændre tabelkanten til en tynd linje
Næste:Byg en brugerdefineret filcache ASP.NET optimering af ydeevnen
Opslået på 18/03/2017 16.52.21 |
Det er meget godt skrevet, lær!
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com