Разликата между бисквитки и сесии - стека преливане на Руски

Моля да ми обясни с прости думи, не запаметява гледна точка, като нещо, което да работи с? Какво е и какво трябва да бъде? Възможни примери за които ще бъдат обяснение, благодаря ви.

настроен 16 Март '12 в 12:24

Това е друг феномен.

Cookie - е името на една такава двойка, която е (или по-скоро, кой) сървър може да напусне клиент (браузър). визуално:

  1. Идва клиент пита сървъра страница.
  2. заглавието на реакцията на сървъра може да определи бисквити. Така например, издаване на два колектора: Set-Cookie: Foo = 123 и Set-Cookie: бар = Баз - на руски език - "Не забравяйте, че Foo - 123, както и на бара - Баз».
  3. Следващия път, когато клиентът, ако той реши да се помни, казва сървъра «Cookie на: бар = Баз; Фу = 123. "

Опростена, без да засягат тънкостите - всички, това е всичко, какви са бисквитките.

Sessions - по-ефимерна концепция, която не е свързана с конкретен недвижими технология. Това е просто един вид метод, който позволява да се разграничат един клиент от друг, и обикновено, някъде за съхранение на данни, свързани с всеки клиент.

Обикновено сесии се изпълняват с помощта на бисквитки и идентификатори на сесии. Т.е. От своя страна, сървърът създава уникален идентификатор, например, «1a2b3c» (session_id за вас spravshivali), и клиентът му иска да си спомня. Обикновено - с помощта бисквитките, казвайки нещо в духа на Set-Cookie: PHPSESSID = 1a2b3c (. Когато «PHPSESSID» - име на сесията обикновено, той е единственият, който да проведе няколко сесии паралелно рядко е необходимо). От своя страна, сървърът някъде (в зависимост от изпълнението, понякога това е файл, например, / TMP / 1a2b3c. Понякога запис в базата данни, понякога нещо друго) съхранява различни данни, които той нареди да бъде свързана с тази сесия. Например, името на потребителя.

Все още е възможно да се съхранява идентификатори на сесии и на други места. Например, местните споделени обекти ( «fleshevskie бисквитка"), да използват възможностите на локалното хранилище за HTML5, и дори някои по-малко тривиални места, но PHP това "извън кутията" не знам как.

Съответно, когато клиентът е идентифициран - в сесията се записва кой е той. Обратно - ако сме записали в сесията кой е той - можете да го повярвам. Всички допълнително по логика - дали да позволи на клиента дали да му даде някои възможности и т.н. - за вас.