Middle
ვებ პროგრამებში სესიის მუშაობის მექანიზმი როგორია?
sobes.tech AI
პასუხი AI-სგან
ვებ-აპლიკაციებში სესიის მუშაობის მექანიზმი დაფუძნებულია მომხმარებლის იდენტიფიკაციაზე მოთხოვნების შორის, რომლებიც ბუნებით სტატeless (მდგომარეობა არ არის შენახული).
პროცესი ჩვეულებრივ ასე გამოიყურება:
- მომხმარებლის პირველი მოთხოვნა: კლიენტი (ბრაუზერი) აგზავნის მოთხოვნას სერვერზე.
- სესიის შექმნა: სერვერი იღებს მოთხოვნას და, თუ ეს პირველი მოთხოვნაა ამ კლიენტიდან ან სესია ჯერ კიდევ არ არის შექმნილი, ქმნის უნიკალურ სესიის იდენტიფიკატორს (Session ID).
- სესიის მონაცემების შენახვა: სერვერი ინახავს მონაცემებს, რომლებიც დაკავშირებულია ამ Session ID-თან. ეს შეიძლება იყოს მონაცემები მომხმარებელზე (შესვლა, როლი), ყუთის მდგომარეობა, პარამეტრები და ა.შ. შენახვა შეიძლება განხორციელდეს სერვერზე (მეხსიერებაში, ფაილებში) ან სხვა საცავში (მონაცემთა ბაზა, Redis).
- Session ID-ის გადაცემა მომხმარებელზე: სერვერი აგზავნის პასუხს მომხმარებელზე, სადაც შედის Session ID. ყველაზე გავრცელებული გზები:
- Cookie: სერვერი ადგენს cookie-ს Session ID-თან ერთად ბრაუზერში. ბრაუზერი ავტომატურად აგზავნის ამ cookie-ს ყოველ შემდეგ მოთხოვნასთან ერთად იმ დომენზე.
- URL: Session ID-ის ჩართვა URL-ის პარამეტრებში (მცირე უსაფრთხო და რეკომენდებული მეთოდი).
- მალული ველი ფორმაში: Session ID-ის ჩართვა მალულ ველში
<input type="hidden">HTML ფორმაში (გამოყენება ფორმების გაგზავნისას).
- შემდეგი მოთხოვნები: როდესაც მომხმარებელი აგზავნის შემდეგ მოთხოვნას, ის შეიცავს Session ID-ს (მაგ., cookie-სგან).
- მომხმარებლის იდენტიფიკაცია: სერვერი იღებს მოთხოვნას, ამოიღებს Session ID-ს და იყენებს მას შესაბამის მონაცემთა საძებნელად. ასე სერვერი "იცნობს" მომხმარებელს და მის წინა მდგომარეობას.
- სესიის მონაცემების განახლება: მომხმარებელთან ურთიერთობის პროცესში, სერვერი შეიძლება შეცვალოს ან დაამატოს მონაცემები სესიის საცავში, რომლებიც დაკავშირებულია მიმდინარე Session ID-სთან.
- სესიის დასრულება: სესია შეიძლება დასრულდეს მკაფიოდ (მაგ., მომხმარებლის გამოსვლის დროს) ან ავტომატურად გარკვეული დროის გაუქმების შემდეგ (სესიის დროის გასვლის). სესიის დასრულების შემდეგ, მონაცემები, რომლებიც დაკავშირებულია Session ID-სთან, წაიშლება სერვერიდან.
ძირითადი კომპონენტები:
- Session ID: უნიკალური სესიის იდენტიფიკატორი.
- სერვერული სესიის საცავი: ადგილი, სადაც ინახება მონაცემები, დაკავშირებული Session ID-სთან.
- Session ID-ის გადაცემის მექანიზმი: ჩვეულებრივ, Cookie.
ეს მექანიზმი საშუალებას აძლევს ვებ-აპლიკაციებს შეინარჩუნონ ურთიერთქმედების კონტექსტი თითოეულ მომხმარებელთან მისი მუშაობის განმავლობაში საიტზე, მიუხედავად HTTP-ის სტატუსის გარეშე ხასიათის.