Sobes.tech
Middle

Aký je mechanizmus práce relácie vo webových aplikáciách?

sobes.tech AI

Odpoveď od AI

Mechanizmus práce s reláciou v webových aplikáciách je založený na identifikácii používateľa medzi požiadavkami, ktoré sú svojou povahou bezstavové (stateless).

Proces zvyčajne vyzerá takto:

  1. Prvá požiadavka používateľa: Klient (prehliadač) odošle požiadavku na server.
  2. Vytvorenie relácie: Server prijme požiadavku a, ak je to prvá požiadavka od tohto klienta alebo relácia ešte nebola vytvorená, vygeneruje jedinečný identifikátor relácie (Session ID).
  3. Ukladanie údajov relácie: Server uchováva údaje spojené s týmto Session ID. Môžu to byť údaje o používateľovi (prihlasovacie meno, rola), stav košíka, nastavenia atď. Ukladanie môže prebiehať na serveri (v pamäti, súboroch) alebo v samostatnom úložisku (báza dát, Redis).
  4. Prenos Session ID klientovi: Server odošle odpoveď klientovi, vrátane Session ID. Najbežnejšie spôsoby prenosu:
    • Cookie: Server nastaví cookie s Session ID v prehliadači používateľa. Prehliadač automaticky odošle tento cookie pri každej nasledujúcej požiadavke na ten istý domén.
    • URL: Session ID je zahrnuté v parametroch URL (menej bezpečný a odporúčaný spôsob).
    • Skryté pole vo formulári: Session ID je umiestnené v skrytom poli <input type="hidden"> v HTML formulári (používa sa pri odosielaní formulárov).
  5. Nasledujúce požiadavky: Keď klient odošle ďalšiu požiadavku, zahrnie v nej Session ID (napríklad z cookie).
  6. Identifikácia používateľa: Server prijme požiadavku, extrahuje Session ID a použije ho na vyhľadanie príslušných údajov relácie. Tak server "rozpozná" používateľa a jeho predchádzajúci stav.
  7. Aktualizácia údajov relácie: Počas interakcie s aplikáciou môže server meniť alebo pridávať údaje do úložiska relácií, spojené s aktuálnym Session ID.
  8. Ukončenie relácie: Relácia môže byť ukončená explicitne (napríklad pri odhlásení používateľa) alebo automaticky po uplynutí určitého času neaktivity (timeout relácie). Pri ukončení relácie sa údaje spojené s Session ID odstránia zo servera.

Hlavné komponenty:

  • Session ID: Jedinečný identifikátor relácie.
  • Serverové úložisko relácií: Miesto, kde sa ukladajú údaje spojené s Session ID.
  • Mechanizmus prenosu Session ID klientovi: Zvyčajne Cookie.

Tento mechanizmus umožňuje webovým aplikáciám udržiavať kontext interakcie s každým používateľom počas jeho práce na stránke, napriek bezstavovému charakteru protokolu HTTP.