Sobes.tech
Middle

Veb tətbiqlərdə sessiya mexanizmi necə işləyir?

sobes.tech Süni İntellekt

AI-dan cavab

Veb tətbiqlərdə sessiya mexanizmi istifadəçini sorğular arasında tanımağı əsaslanır və bu, təbiətinə görə stateless (mövcudatsız) olur.

Proses adətən belə işləyir:

  1. İstifadəçinin ilk sorğusu: Müştəri (brauzer) serverə sorğu göndərir.
  2. Sessiyanın yaradılması: Server sorğunu qəbul edir və əgər bu, həmin müştəridən ilk sorğu və ya sessiya hələ yaradılmayıbsa, unikal sessiya identifikatoru (Session ID) yaradır.
  3. Sessiya məlumatlarının saxlanması: Server bu Session ID ilə əlaqəli məlumatları saxlayır. Bunlar istifadəçi məlumatları (giriş, rol), səbət vəziyyəti, tənzimləmələr və s. ola bilər. Saxlama serverdə (yaddaş, fayllar) və ya ayrıca saxlama yerində (verilənlər bazası, Redis) həyata keçirilə bilər.
  4. Session ID-nin müştəriyə ötürülməsi: Server cavab göndərir və daxilində Session ID olur. Ən çox yayılmış ötürmə üsulları:
    • Cookie: Server istifadəçinin brauzerində Session ID ilə cookie qurur. Brauzer bu cookie-ni avtomatik olaraq hər növbəti sorğuda eyni domenə göndərir.
    • URL: Session ID URL parametrlərinə daxil edilir (daha az təhlükəsiz və tövsiyə edilmir).
    • Gizli sahələr: Session ID HTML formadakı gizli <input type="hidden"> sahəsinə yerləşdirilir (formların göndərilməsi zamanı istifadə olunur).
  5. Növbəti sorğular: Müştəri növbəti sorğunu göndərəndə, o, Session ID-ni daxil edir (məsələn, cookie vasitəsilə).
  6. İstifadəçinin tanınması: Server sorğunu qəbul edir, Session ID-ni çıxarır və ona uyğun sessiya məlumatlarını tapır. Beləliklə, server "istifadəçini" və onun əvvəlki vəziyyətini tanıyır.
  7. Sessiya məlumatlarının yenilənməsi: İstifadəçi tətbiq ilə qarşılıqlı əlaqədə olduqca, server sessiya yaddaşında məlumatları dəyişə və ya əlavə edə bilər, mövcud Session ID ilə əlaqəli.
  8. Sessiyanın bağlanması: Sessiya açıq şəkildə bağlana bilər (məsələn, istifadəçi çıxış etdikdə) və ya avtomatik olaraq müəyyən bir müddət aktivlikdən sonra (sessiya vaxtı keçməsi) sona çatdırılır. Bağlandıqda, Session ID ilə əlaqəli məlumatlar serverdən silinir.

Əsas komponentlər:

  • Session ID: Unikal sessiya identifikatoru.
  • Serverdə sessiya yaddaşı: Session ID ilə əlaqəli məlumatların saxlandığı yer.
  • Session ID-nin müştəriyə ötürülmə mexanizmi: Adətən Cookie.

Bu mexanizm veb tətbiqlərə istifadəçi ilə qarşılıqlı əlaqə kontekstini, HTTP protokolunun stateless xarakterinə baxmayaraq, saxlamağa imkan verir.