Ce sunt sesiunile web? – ELI5

Fotografie de Markus Spiske pe Unsplash

Spoiler Alert – Dacă vă așteptați să învățați care este metoda de recuperare a unei sesiuni și care este metoda getAttribute, atunci acesta nu este locul potrivit. Pentru a învăța codarea pe sesiuni mergeți pe alte site-uri. Aici veți înțelege ce anume este o sesiune și cum funcționează aceasta. Iar dacă sunteți un profesionist puteți ignora acest blog pentru că nu vă oferă nimic.

Am avut un bug pe sesiuni în aplicația la care lucram și pentru a încheia îndoiala mea și pentru a o rezolva a trebuit să învăț de la A la Z despre sesiuni și să o înțeleg. La subiect… și încă un lucru ELI5 înseamnă Explain Like I am 5.

Trebuie să știm ce este o cerere HTTP înainte de a ne îndrepta spre sesiune. Cererea HTTP este o solicitare pe care browserul dvs. o trimite către server.

Ce este o cerere? Nimic, dar vreau asta, poți să mi-o dai

Ce este o cerere?(Termeni software) Browserul folosește HTTP pentru a trimite date, iar serverul acceptă datele și răspunde la cerere pentru a da ceea ce vrea browserul.

Ce sunt datele aici? Cum arată datele? Datele cererii sunt un document text simplu structurat într-un mod precis determinat de protocolul de comunicare. Are 3 părți linie,antet și corp. Există și mai multe tipuri de cereri HTTP. Puteți căuta pe Google mai multe pe această temă.

Acum revenim la prima noastră linie „Cererea HTTP este o cerere pe care browserul dvs. o trimite serverului.”

Ce este un server? Serverul poate fi un simplu program de calculator sau poate fi un dispozitiv care există pentru a îndeplini cererea dumneavoastră. Cum îndeplinește? Are o aplicație care rulează pe el și care operează pe baza cererii dumneavoastră și dă un răspuns browserului . Cum arată serverul? Are tot ceea ce are computerul dvs. plăci de bază, microprocesoare, porturi de rețea , conexiuni de rețea și multe altele.

În regulă, este timpul să înțelegem ce este o sesiune?

Acum să presupunem că nu există sesiune în lumea software. Și în acest moment navigați pe Facebook. Tocmai v-ați logat și vedeți pagina dvs. de pornire. După un timp ați dat click pe pagina prietenilor dumneavoastră, dar înainte de a vă arăta pagina solicitată, vă cere să vă autentificați din nou. De ce v-a cerut să vă autentificați? Pentru că serverul nu are nicio informație despre cine este utilizatorul. Imaginați-vă că acest lucru se întâmplă la fiecare pagină pe care o vizitați pe Facebook, v-ați enerva.

Sesiunile oferă dezvoltatorului web posibilitatea de a stoca informații despre utilizator/client. Toate informațiile despre utilizator sunt stocate atunci când te autentifici. Acestea sunt stocate într-o bază de date. Acum, utilizatorul poate naviga fără probleme în aplicație, deoarece serverul are informațiile despre utilizator.

Acum cum se creează o sesiune?

Aici trebuie să știți că solicitarea HTTP nu are nicio idee despre ce este o sesiune, iar serverul nu are nicio idee despre ce este o sesiune. Aceasta este construită pur și simplu de către dezvoltatorul web pentru a stoca informații ale clientului. O sesiune pe un server este implementată prin mai multe fire sau subprocese. În calitate de dezvoltator web, avem clase și metode pentru a crea o nouă sesiune, a accesa sesiunea curentă și a stoca informații în ea. Fiecare utilizator are propria sesiune și atunci când mai mulți utilizatori accesează o aplicație, fiecare utilizator individual primește o sesiune și este întreținut de server.

Cum identifică un server care utilizator aparține unei anumite sesiuni?

Pentru a răspunde la această întrebare trebuie să explic ce este un cookie?

Este un fișier cu o cantitate mică de date stocate în calculatorul clientului într-un format de pereche cheie-valoare care este citit atât de client cât și de server. Datele conțin informații despre utilizator.

Cine creează cookie-ul? Cookie-ul este creat de către server. Acesta adaugă date și le împachetează într-un cookie și este trimis către browser. Acum, de fiecare dată când apare o solicitare de la site-ul web și ajunge la server, serverul solicită cookie-ul de la browser. Browserul trimite cookie-ul prin intermediul unei cereri HTTP. Deoarece cookie-ul conține informații despre utilizator, serverul îl citește și încarcă pagina web pe baza datelor din cookie.

În mod similar, sesiunea are un identificator unic numit session token Id/session ID. Serverul creează o variabilă care reprezintă anumite informații despre sesiune și o stochează în cookie. Restul procesului este la fel ca cel explicat mai sus. În acest fel, serverul identifică ce utilizator accesează site-ul web.

Concluzie

Vă recomand să implementați un coș de cumpărături sau o aplicație bancară în orice limbaj de programare pe care îl preferați și să aplicați sesiuni în acesta pentru a înțelege complet conceptul de sesiuni, cereri, cookie-uri. Puteți găsi how to code peste tot mai puțin aici. După ce ați făcut-o treceți la nivelul următor prin implementarea conceptelor de securitate pentru aceste domenii. Nu este vorba doar de stocarea și utilizarea datelor, ci totul se referă la cât de sigur stocați și utilizați datele. Vă doresc o zi bună.

Ce ați învățat –

  1. Ce este o cerere?
  2. Ce sunt datele de cerere aici? Cum arată datele?
  3. Ce este un server?
  4. Ce este o sesiune?
  5. Cum se creează o sesiune?
  6. Ce este un cookie?
  7. Cine creează un cookie?
  8. Cine creează un cookie?
  9. Cum menține serverul mai multe sesiuni?

Mai multe informații despre datele legate de:

HTTP cookie

HTTP request

Session wiki

Server

.