Сесія ў HTTP
На аснове кук працуюць сесіі. Сесіі дазваляюць серверу запомніваць кліента і захоўваць для яго інфармацыю.
Напрыклад, наведвальнік сайта можа складаць тавары ў кошык крамы. І перазагрузкі старонкі сервер ідэнтыфікуе кліента і пакажа яму тавары, якія былі адкладзены ў гэтым браўзэры.
Давайце разбярэмся, як гэта працуе. Як вы ўжо ведаеце, пратакол HTTP не захоўвае стан у тым сэнсе, што сервер не можа адрозніць ад якога кліента паступіў запыт. Таму ў гэтым выпадку выкарыстоўваецца абходны шлях.
Яго суть заключаецца ў наступным.
Пры першым звароце кліента сервер
усталёўвае яму куку з выпадковай
унікальнай радком. Гэтая кука называецца
сесійнай і звычайна мае
імя sessid
.
Сервер таксама захоўвае ў сябе спіс усіх сесійных кук і прывязвае да іх патрэбныя даныя. Напрыклад, спіс абраных тавараў у краме.
Пры наступным звароце кліента ён будзе адсылаць на сервер сесійную куку і сервер ідэнтыфікуе яго па гэтай куцы і зможа атрымаць даныя, якія захаваны на серверы для гэтага кліента.
Пратакол HTTP не захоўвае даныя паміж запытамі. Тым не менш, сервер можа адрозніваць карыстальнікаў. Як гэта рэалізавана?