Sobes.tech
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:

  1. Kasutaja esimene päring: Klient (brauser) saadab päringu serverile.
  2. 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).
  3. 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).
  4. 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).
  5. Järgmised päringud: Kui klient saadab järgmise päringu, sisaldab see Session ID-d (näiteks cookie-st).
  6. Kasutaja tuvastamine: Server saab päringu, eraldab Session ID ja kasutab seda vastavate seansiandmete otsimiseks. Nii "tunnustab" server kasutajat ja tema eelmist olekut.
  7. Seansi andmete uuendamine: Kasutajaga suhtlemise käigus võib server muuta või lisada andmeid seansihoidlasse, mis on seotud praeguse Session ID-ga.
  8. 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.