Sobes.tech
Middle

ვებ პროგრამებში სესიის მუშაობის მექანიზმი როგორია?

sobes.tech AI

პასუხი AI-სგან

ვებ-აპლიკაციებში სესიის მუშაობის მექანიზმი დაფუძნებულია მომხმარებლის იდენტიფიკაციაზე მოთხოვნების შორის, რომლებიც ბუნებით სტატeless (მდგომარეობა არ არის შენახული).

პროცესი ჩვეულებრივ ასე გამოიყურება:

  1. მომხმარებლის პირველი მოთხოვნა: კლიენტი (ბრაუზერი) აგზავნის მოთხოვნას სერვერზე.
  2. სესიის შექმნა: სერვერი იღებს მოთხოვნას და, თუ ეს პირველი მოთხოვნაა ამ კლიენტიდან ან სესია ჯერ კიდევ არ არის შექმნილი, ქმნის უნიკალურ სესიის იდენტიფიკატორს (Session ID).
  3. სესიის მონაცემების შენახვა: სერვერი ინახავს მონაცემებს, რომლებიც დაკავშირებულია ამ Session ID-თან. ეს შეიძლება იყოს მონაცემები მომხმარებელზე (შესვლა, როლი), ყუთის მდგომარეობა, პარამეტრები და ა.შ. შენახვა შეიძლება განხორციელდეს სერვერზე (მეხსიერებაში, ფაილებში) ან სხვა საცავში (მონაცემთა ბაზა, Redis).
  4. Session ID-ის გადაცემა მომხმარებელზე: სერვერი აგზავნის პასუხს მომხმარებელზე, სადაც შედის Session ID. ყველაზე გავრცელებული გზები:
    • Cookie: სერვერი ადგენს cookie-ს Session ID-თან ერთად ბრაუზერში. ბრაუზერი ავტომატურად აგზავნის ამ cookie-ს ყოველ შემდეგ მოთხოვნასთან ერთად იმ დომენზე.
    • URL: Session ID-ის ჩართვა URL-ის პარამეტრებში (მცირე უსაფრთხო და რეკომენდებული მეთოდი).
    • მალული ველი ფორმაში: Session ID-ის ჩართვა მალულ ველში <input type="hidden"> HTML ფორმაში (გამოყენება ფორმების გაგზავნისას).
  5. შემდეგი მოთხოვნები: როდესაც მომხმარებელი აგზავნის შემდეგ მოთხოვნას, ის შეიცავს Session ID-ს (მაგ., cookie-სგან).
  6. მომხმარებლის იდენტიფიკაცია: სერვერი იღებს მოთხოვნას, ამოიღებს Session ID-ს და იყენებს მას შესაბამის მონაცემთა საძებნელად. ასე სერვერი "იცნობს" მომხმარებელს და მის წინა მდგომარეობას.
  7. სესიის მონაცემების განახლება: მომხმარებელთან ურთიერთობის პროცესში, სერვერი შეიძლება შეცვალოს ან დაამატოს მონაცემები სესიის საცავში, რომლებიც დაკავშირებულია მიმდინარე Session ID-სთან.
  8. სესიის დასრულება: სესია შეიძლება დასრულდეს მკაფიოდ (მაგ., მომხმარებლის გამოსვლის დროს) ან ავტომატურად გარკვეული დროის გაუქმების შემდეგ (სესიის დროის გასვლის). სესიის დასრულების შემდეგ, მონაცემები, რომლებიც დაკავშირებულია Session ID-სთან, წაიშლება სერვერიდან.

ძირითადი კომპონენტები:

  • Session ID: უნიკალური სესიის იდენტიფიკატორი.
  • სერვერული სესიის საცავი: ადგილი, სადაც ინახება მონაცემები, დაკავშირებული Session ID-სთან.
  • Session ID-ის გადაცემის მექანიზმი: ჩვეულებრივ, Cookie.

ეს მექანიზმი საშუალებას აძლევს ვებ-აპლიკაციებს შეინარჩუნონ ურთიერთქმედების კონტექსტი თითოეულ მომხმარებელთან მისი მუშაობის განმავლობაში საიტზე, მიუხედავად HTTP-ის სტატუსის გარეშე ხასიათის.