HTTP бисквитките може да имат различни характеристики (атрибути), поради това съществуват различни наименувания за тях. Най-често срещаните са временна (сесийна) бисквитка и постоянна (проследяваща) бисквитка.
HTTP бисквитките основно се използват в следните случаи: за поддържане на потребителски сесии, проследяване или персонализиране.
Session Cookie (сесийна/временна бисквитка)
Когато дадена бисквитка няма дата или период на валидност, тогава тя е сесийна/временна. Браузърът разпознава дадена бисквитка като сесийна, ако към нея липсват атрибутите Expires и Max-Age. След като посетителят затвори браузъра си, сесийната бисквитка се изтрива. Сайтът може да премахва от браузъра сесийни бисквитки, например когато потребителят излезе от профила си в сайта или пък остане неактивен за определен период от време.
Ако бисквитката има един или и двата посочени атрибута, тогава тя се съхранява от браузъра за определен период, посочен в Max-Age или до датата, посочена в атрибута Expires.
Когато се говори за „сесийни бисквитки“, това най-често означава, че става въпрос за използването на сесия, с която уеб сайтът може да разпознава и запомня отделните си посетители. Също така, чрез сесията, сайтът може да задържа данни между отделните заявки на даден разпознат посетител. Тези данни може да се съдържат в променливи, база данни, файлове и други, и да са достъпни за уеб приложението при всяка следваща страница от сайта, посетена от същия посетител.
Когато даден посетител се идентифицира в сайта, например чрез потребител и парола, тогава той може да получи сесийна (временна) бисквитка от сайта. Тя ще се използва до края на сесията като временен пропуск, удостоверяващ извършената вече идентификация на потребителя в сайта. Чрез сесийната бисквитка не се налага сайтът да идентифицира посетителя си всеки път, когато той достъпи страница от сайта, в рамките на една сесия.
При установяване на сесия с даден посетител, сайтът създава и използва уникален идентификатор (id на сесията). Този уникален идентификатор може да се подаде към посетителя в HTTP бисквитка (например „sessionid=ksjdaf5asd“). След това, при всяка една отделна заявка към сайта, браузърът на посетителя ще връща бисквитката с идентификатора. Чрез идентификатора на сесията сайтът разпознава всяка една отделна заявка от този посетител.
Създаването и управлението на сесиите се извършва от самия сайт. Например сайтовете, написани на PHP, може да използват PHP функциите за сесии. А името на сесийните бисквитки, задавани чрез PHP, по подразбиране е „PHPSESSID“. Имплементацията на този вид сесии зависи от ползвания скриптов/програмен език, на който е написан сайта. За Java например бисквитката за сесии по подразбиране е с име „JSESSIONID“, а за ASP „ASPSESSIONID“. HTTP бисквитката служи като инструмент за предаване на идентификатора на сесията между посетителя и сайта.
Различните значения на понятието „сесия“ в Уеб
В тази сфера от комуникацията в Уеб, случваща се между уеб клиент и уеб сървър, понятието „сесия“ може да се различава за различните системи.
Ето няколко обобщаващи описания на „сесия“, според средата, в която се случва.
1. Всеобщо описание на сесията, когато става въпрос за HTTP комуникация: Сесията представлява HTTP диалога клиент-сървър, съдържащ поредицата от HTTP заявки и HTTP отговори, асоциирани с един и същ посетител.
2. Сесията, използвана от уеб сайта
Сесията, използвана от уеб сайта, най-често е имплементирана програмно, чрез програмния език, на който е написан самия сайт. Тази сесия е „програмистки похват“, чрез който към HTTP протокола се добавя липсващия механизъм за запазване на състоянието на HTTP диалога клиент-сървър. Сесията може да се определи като времето, през което един посетител е в статус „разпознат“ за сайта. По време на сесията се запазват резултати, данни или статус от взаимодействието на потребителя със съдържанието в сайта. Сесията се използва за поддържане на данни, достъпни между отделните заявки на един потребител. Тези данни може да са генерирани при обработката на една заявка, а да влияят на обработката на следващата заявка от клиента. Чрез сесията сайтът може да запомня състоянието на HTTP диалога клиент-сървър. За сесии, създадени например с PHP, се използват сесийни бисквитки, които пренасят идентификатора на сесията между сайта и посетителя.
3. Сесията, погледната от страна на уеб браузъра
Браузърът знае едно нещо със сигурност, свързано с понятието за сесия – когато види сесийна бисквитка, тоест такава без дата и период, да я означи като сесийна и да я премахне от паметта си, когато процесът му бъде прекратен (затваряне на браузъра). Браузърът не се интересува каква информация съдържа и за какво се използва самата бисквитка. За него това е просто поредната HTTP бисквитка, която ще обработи според наличните към нея атрибути и зададените от потребителя настройки (в сигурност и контрол върху записването и изпращането на бисквитки).
4. Сесията (посещението) в Google Анализ
Google Анализ също използва „сесия“, за разпознаване и запомняне на посетителите на даден сайт. Разпознаването на посетителите обаче не включва идентифицирането им чрез лична информация (като потребител+парола). Разпознаването се извършва чрез уникалния идентификатор, зададен за всеки отделен посетител. Сесията в Анализ означава времето, през което посетителят е в статус „разпознат“ за Google Анализ, разглежда страници от сайта и извършва определени действия на него. За сесията на Анализ не се използва сесийна (временна) бисквитка, а такава която има период на валидност (постоянна бисквитка). При затваряне на браузъра тези бисквитки не се изтриват. Основната бисквитка на Анализ, която се ползва за различаване на посетителите, е с период на валидност две години и се казва „_ga“. Сесията в Google Анализ не се ползва за поддържане на данни, които да оказват влияние на обработката на следващите заявки на посетителя в сайта.
Persistent/Tracking Cookie (постоянна/проследяваща бисквитка)
В действителност не съществува постоянна бисквитка, тоест такава която да се пази безкрайно от уеб браузъра. Думата „постоянна“ се използва за разграничаване на сесийната бисквитка, от тази която има период на валидност.
Когато бисквитката има дата и/или период на валидност, тогава тя може да се определи като „постоянна“. Това означава, че при затваряне на браузъра бисквитката не се изтрива.
Постоянните бисквитки също може да служат на сайтовете за запомняне и различаване на посетителите си. Най-често с цел персонализиране, събиране на статистики за достъпа, подобряване на използваемостта на сайта и потребителското изживяване. Както и за други цели, които не изискват идентифицирането конкретно на потребителите чрез тяхна лична или удостоверяваща информация (потребител, парола).
Например услугата на Google – Анализ (Analytics) използва такива бисквитки, за да може да различава новите (unique visitor) от завърналите се (returning visitor) потребители на даден сайт.
Third-party Cookie (бисквитка, получена от външен сайт, трета страна)
Разновидност на бисквитките са тези от „трета страна“. По-агресивните бисквитки от трета страна са тези на рекламните компании, които ги използват за събиране на информация и проследяване на поведението и активностите на посетителите, с цел показване на подходящи реклами и предложения.
Когато на дадена уеб страница се изтеглят и зареждат ресурси от външни сайтове, докато браузърът зарежда тази страница, на заден фон той прави отделни заявки и към тези външни сайтове.
Някои от тези сайтове може да си задават собствени бисквитки и когато браузърът им изпрати заявка, в получения отговор от тях може да има и бисквитки. Тъй като бисквитките не са от самия сайт, който реално се зарежда от посетителя, тези бисквитки се наричат от „трета-страна“.
Реално посетителят изобщо не посещава тези сайтове, но получава и записва бисквитки от тях. Така например, ако на сайта има бутони за споделяне в социални мрежи като – LinkedIn, Facebook, Google+, Twitter и други (както в момента можете да видите такива бутони в края на тази статия), много вероятно е посетителят да получи бисквитки от всички тях.
Някои уеб браузъри блокират бисквитки от „трета страна“ по подразбиране, а други имат опции за ограничаването им.
Съобщението, че сайтът ползва бисквитки
Събирането на информация чрез бисквитки, особено когато тя е лична информация или данни за действията и поведението на посетителите, може да се приеме като посегателство над неприкосновеността на личния им живот, поради това в някои страни е приет закон за ползването на бисквитки.
Съществува и директива за бисквитките на Европейския съюз, според която в случай че сайтът ползва бисквитки, различни от тези за персонализиране и подобряване на потребителското изживяване, задължително посетителите трябва да бъдат уведомени за това и трябва да се получи съгласието им.
За да не се получава съобщението за „приемане“ на бисквитките, при всяко едно зареждане на сайта от един и същ посетител, някои системи може да използват именно бисквитка. Например когато посетителят даде съгласието си, сайтът му изпраща бисквитка с име cookiesAccepted и стойност true. При следващо посещение, сайтът ще види тази бисквитка и няма да покаже на този посетител съобщението за приемане на бисквитките.