Diferența dintre cookie-uri și sesiuni - stiva de preaplin în limba rusă

Te rog să-mi explice în cuvinte simple, nu memorat termeni, ca ceva de a lucra cu? Ce este și ce ar trebui să fie? Posibile exemple de care va fi o explicație, vă mulțumesc.

set 16 martie '12 la 12:24

Acesta este un fenomen diferit.

Cookie - este o pereche nume-valoare, care este (sau mai degrabă, cine) server poate părăsi client (browser). vizual:

  1. Vine clientul solicită pagina de server.
  2. antetul răspuns de la server poate seta cookie-uri. De exemplu, emiterea de două antete: Set-Cookie: foo = 123 și Set-Cookie: bar = BAZ - în limba rusă - „amintiți-vă, foo - 123, și bara - Baz».
  3. Data viitoare clientul, în cazul în care el a decis să-și amintească, spune serverul «Cookie: bar = Baz; foo = 123. "

Simplificată, fără a afecta subtilitatile - toate, asta este tot, ce sunt cookie-urile.

Sesiuni - concept mai efemeră, care nu este legată de o anumită tehnologie reală. Este doar un fel de metodă, care permite de a distinge un client de la o alta, și, de obicei, undeva pentru a stoca date asociate cu fiecare client.

De obicei, sesiunile sunt implementate folosind cookie-uri și ID-uri de sesiune. Ie La rândul său, serverul creează un identificator unic, de exemplu, «1a2b3c» (session_id despre tine spravshivali), iar clientul îi cere să-și amintească. De obicei, - cu ajutorul, cookie-urile au, spunând ceva în spiritul Set-Cookie: PHPSESSID = 1a2b3c (. În cazul în care «PHPSESSID» - numele de sesiune este, de obicei, aceasta este singura de a efectua mai multe sesiuni, în paralel, este rareori necesară). La rândul său, serverul undeva (în funcție de punerea în aplicare, uneori, acesta este un fișier, de exemplu, / tmp / 1a2b3c. Uneori, o intrare în baza de date, uneori altceva) stochează diverse date, pe care a ordonat să fie asociat cu această sesiune. De exemplu, numele de utilizator.

Totuși, este posibil pentru a stoca ID-uri de sesiune în alte locuri. De exemplu, Obiecte locale partajate ( «fleshevskie cookie»), utilizați capacitățile de stocare locale HTML5, și chiar unele locuri mai putin banale, dar PHP acest lucru „din cutie“, nu știu cum.

Prin urmare, atunci când clientul este autentificat - în sesiunea este salvat cine este el. Back - dacă am înregistrat în sesiunea de cine este el - puteti crede. Toate în plus, logica - fie pentru a permite clientului dacă să-i dea niște oportunități, etc. - pentru tine.