NOU 🚀 HTML & CSS de la ZERO modul 2 este aproape de lansare. Înscrie-te acum la modulul 1 și primești modulul 2 GRATUIT!

Ce este un HTTP cookie

Postat 24 August, 2025
Ce este un HTTP cookie

Ce este un cookie

Cei mai mulți oameni care folosesc un browser, asociază termenul de cookie sau cookies cu diferite probleme avute în aplicațiile web și rezolvate prin ștergerea acestor cookies, dar nu mulți încearcă să înțeleagă care-i treaba cu ele, de ce există și la ce folosesc.

Un (http) cookie reprezintă o mică bucățică informațională pe care un server web, al unei aplicații web sau site, o atașează browser-ului tău.

Această bucățică de informație ajută la crearea de context atunci când interacționăm cu web-ul, pentru că, în general, comunicarea prin protocolul http deține o caracteristică cheie, este stateless.

Tradus în limba română înseamnă “lipsit de stare”.

Această lipsă de stare presupune că la fiecare interacțiune, fiecare click pe care îl facem într-o pagină, server-ul web ce primește cererea nu știe nimic despre noi.

Gândește-te la asta ca la situația în care de fiecare dată când ai interacționa cu o persoană cunoscută, să fie nevoie să-i spui cine ești, de unde vă cunoașteți, când v-ați întâlnit ultima dată etc.

Nu cred că ar fi prea plăcut, așa-i?

Și atunci, ca să-i facem serverului puțin context despre cine suntem și ce facem acolo, îi permitem să atașeze în browser un cookie, care este dedicat fiecărui domeniu în parte pe care-l accesăm.

Asta înseamnă că vom avea cookies separate pentru fiecare website în parte pe care ajungem, un server neavând acces decât la setul de cookies dedicat domeniului lui, nu și al altora.

Dar asta e discutabil, pentru că există și vulnerabilități și cookie-urile sunt expuse la un tip de atac cibernetic denumit session sau cookie (sau session) hijacking.

Acest tip de atac se bazează pe interceptarea și furtul informațiilor transmise prin cookie, astfel încât un hacker s-ar putea da drept altcineva în interacțiunea cu o aplicație web. Cred că îți dai seama cât de periculos poate fi dacă se întâmplă asta.

La ce folosește un cookie

Uite un exemplu simplu de utilizare pentru cookies.

Mergi pe un site ce presupune autentificare, sau login și îți introduci credențialele de acces.

Serverul de backend îți verifică identitatea, iar dacă setul tău de credențiale e corect, în mesajul de răspuns îți trimite și un cookie pe care îl atașează la tine în browser.

Astfel, atunci când mergi pe următoarea pagină a site-ului respectiv, serverul știe că ești deja logat și îți afișează paginile ca atare.

Utilizarea de cookies in interactiunea HTTP

În cazul ăsta, informația care se stochează într-un cookie e, de obicei, un identificator de sesiune.

O sesiune e o perioadă de timp pe care serverul o alocă prin care tu ai acces la toate resursele, sau paginile, ca utilizator autentificat.

Atunci când sesiunea expiră, îți este revocat accesul și ești rugat să te autentifici din nou, caz în care un nou cookie va fi generat și salvat.

Acest mecanism îți permite ție, ca utilizator, ca pentru o perioadă limitată de timp să poți folosi o aplicație web fără să fie nevoie să mai introduci credențialele de acces.

Altfel, ai fi fost nevoit să faci asta aproape la fiecare click sau schimbare de pagină, ceea ce nu cred că ar fi fost prea plăcut.

Dar în același timp, prin acest concept e introdusă și vulnerabilitatea de care vorbeam mai devreme, cu furtul de identitate.

Un alt caz, ar fi acela în care într-un cookie sunt salvate diferite setări sau preferințe ale tale, ca și utilizator, cum ar fi de exemplu tema folosită: light sau dark.

Amintește-ți, serverul nu știe niciodată nimic despre tine, tot ce știe e informația care se transmite printr-un set de cookies la fiecare cerere.

Cum se transmit cookie-urile

Informațiile ce sunt stocate într-un cookie, ajung în browser-ul utilizatorului printr-un header, sau antet al răspunsului HTTP.

Uite un exemplu:

HTTP/2.0 200 OK
Content-Type: text/html
Set-Cookie: theme=dark
Set-Cookie: user_id=123456789

Unde theme și user_id sunt numele, iar dark și 123456789 valorile.

Uite ce se întâmplă când browser-ul trimite un nou request către același server.

GET /contact.html HTTP/2.0
Host: www.example.com
Cookie: theme=dark; user_id=123456789

Trimite în header-ul “Cookie” toate cookie-urile și valorile lor stocate pentru domeniul respectiv.

Fiecare domeniu pe care îl traversăm prin internet, poate să stocheze la noi în browser zeci de astfel de cookies, ceea ce poartă și un risc, pentru că poate scădea performanța paginilor.

Cu cât mai multe cookies trimise, cu atât serverul trebuie să proceseze mai mult și nu doar atât, dar și mai multă lățime de bandă e consumată cu fiecare request.

De multe ori, cookie-urile sunt folosite și pentru a monitoriza comportamentul utilizatorilor pe site-uri: cu ce anume interacționează, cât de mult timp petrec etc., aceste informații folosind mai departe platformelor ce furnizează reclame, plasând astfel reclame la produse de interes pentru fiecare utilizator în parte.

Concluzie

Ca scurtă recapitulare, cookie-urile sunt bucățele de informație transmise între browser-ul web și serverul website-ului respectiv, pentru a avea ceva context în comunicare.

Amintește-ți: comunicarea HTTP și web-ul în general sunt lipsite de stare (stateless), toate informațiile necesare pentru a persista starea între sesiuni sunt păstrate în browser.

În timp ce reprezintă una din cele mai vechi metode de a stoca date într-un browser web, cookie-urile sunt încă extrem de larg răspândite, deși au apărut soluții mai moderne, precum local storage, session storage sau chiar indexedDB, care sunt și mai bine securizate și mai rapide și cu capacități de stocare mai mari.

Atât pentru azi, pe data viitoare.

Hai în comunitate

Strategii de carieră și concepte tehnice explicate pe înțelesul tău.