Sobes.tech
Middle

Ի՞նչ մեխանիզմ է աշխատում սեսիայի մեջ վեբ հավելվածներում։

sobes.tech AI

Պատասխան AI-ից

Միջինակարգի աշխատանքային մեխանիզմը վեբ հավելվածներում հիմնված է օգտվողի նույնականացման վրա՝ հարցումների միջև, որոնք բնույթով անպատասխան են (stateless):

Ընդհանուր գործընթացը հետևյալն է.

  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 պրոտոկոլի անպատասխան բնույթին։