Sobes.tech
Junior — Middle

Čo znamená JSESSIONID v súbore cookie a ako sa používa na identifikáciu relácie používateľa?

sobes.tech AI

Odpoveď od AI

JSESSIONID je identifikátor relácie, ktorý server Java EE (napríklad Tomcat) vytvára pre každého používateľa pri prvom prístupe k webovej aplikácii. Tento identifikátor sa ukladá do cookie s názvom JSESSIONID a odosiela sa klientovi.

Keď klient vykoná ďalšie požiadavky, prehliadač tento cookie automaticky odošle späť na server. Server na základe hodnoty JSESSIONID nájde príslušnú reláciu používateľa, kde je uložený stav (napríklad údaje o autorizácii, nákupný košík a pod.). Týmto spôsobom JSESSIONID umožňuje udržiavať stav medzi požiadavkami v protokole HTTP, ktorý je predvolene bezstavový.

Príklad:

// Získanie relácie v servlete
HttpSession session = request.getSession();
// session.getId() vráti hodnotu JSESSIONID

Ak sú cookies zakázané, identifikátor relácie je možné prenášať cez URL, ale je to menej bezpečné a pohodlné.