Middle
Milline on sessiooni töömehhanism veebirakendustes?
sobes.tech AI
Vastus AI-lt
Veebirakendustes tööseansi mehhanism põhineb kasutaja tuvastamisel vahepealsetel päringutel, mis on olemuselt ilma olekuta (stateless).
Protsess näeb tavaliselt välja järgmiselt:
- Kasutaja esimene päring: Klient (brauser) saadab päringu serverile.
- Seansi loomine: Server saab päringu ja kui see on esimene päring sellelt kliendilt või seanssi pole veel loodud, genereerib unikaalse seansi identifikaatori (Session ID).
- Seansi andmete salvestamine: Server salvestab andmed, mis on seotud selle Session ID-ga. Need võivad olla kasutaja andmed (sisselogimine, roll), ostukorvi olek, seaded jms. Salvestamine võib toimuda serveris (mälus, failides) või eraldi salvestusruumis (andmebaas, Redis).
- Session ID edastamine kliendile: Server saadab vastuse koos Session ID-ga. Levinumad edastusviisid:
- Cookie: Server seab cookie koos Session ID-ga kasutaja brauserisse. Brauser saadab seda cookie't automaatselt iga järgmise päringuga samale domeenile.
- URL: Session ID lisatakse URL-i parameetritesse (vähem turvaline ja soovitatav meetod).
- Varjatud väli vormis: Session ID asetatakse varjatud
<input type="hidden">väljale HTML-vormis (kasutatakse vormide saatmisel).
- Järgmised päringud: Kui klient saadab järgmise päringu, sisaldab see Session ID-d (näiteks cookie-st).
- Kasutaja tuvastamine: Server saab päringu, eraldab Session ID ja kasutab seda vastavate seansiandmete otsimiseks. Nii "tunnustab" server kasutajat ja tema eelmist olekut.
- Seansi andmete uuendamine: Kasutajaga suhtlemise käigus võib server muuta või lisada andmeid seansihoidlasse, mis on seotud praeguse Session ID-ga.
- Seansi lõpetamine: Seanss võib olla selgelt lõpetatud (näiteks kasutaja välja logides) või automaatselt teatud aja jooksul mitteaktiivsuse korral (seansi aegumine). Seansi lõppedes kustutatakse Session ID-ga seotud andmed serverist.
Peamised komponendid:
- Session ID: Unikaalne seansi identifikaator.
- Serveri seansihoidla: Koht, kus hoitakse Session ID-ga seotud andmeid.
- Session ID edastamise mehhanism: Tavaliselt cookie.
See mehhanism võimaldab veebirakendustel säilitada suhtluse konteksti iga kasutajaga kogu tema töö jooksul saidil, vaatamata HTTP protokolli stateless olemusele.