Cookie (ciastko internetowe)
Cookie – niewielki fragment danych tekstowych, które serwer internetowy wysyła do przeglądarki przeglądarki internetowej i które przeglądarka przechowuje na komputerze użytkownika. Cookie są odczytywane przy kolejnych żądaniach HTTP i umożliwiają serwerowi rozpoznanie, że żądanie pochodzi od tego samego użytkownika.
Historia
Koncept ciastek internetowych został zaproponowany w 1994 roku przez Lou Armitage z firmy Netscape Communications. Pierwsza implementacja pojawiła się w przeglądarce Netscape Navigator i od tego czasu cookie stały się standardowym elementem protokołu HTTP.
Rodzaje cookie
- Cookie sesyjne – istnieją wyłącznie podczas trwania sesji przeglądarki i są usuwane po jej zamknięciu.
- Cookie trwałe – posiadają określony termin wygaśnięcia i pozostają na dysku użytkownika nawet po zamknięciu przeglądarki.
- Cookie pierwszej strony – zostały ustawione przez domenę, z której pochodzi aktualnie odwiedzona strona.
- Cookie stron trzecich – pochodzą od innej domeny niż aktualnie odwiedzana strona; najczęściej używane w systemach reklamowych i analitycznych.
Zastosowanie
Cookie pełnią wiele funkcji w nowoczesnym Internecie:
- Utrzymanie sesji – pozwalają zachować zalogowanie użytkownika pomiędzy kolejnymi żądaniami (sesja).
- Personalizacja – przechowują preferencje językowe, ustawienia wyświetlania czy koszyk zakupów.
- Analityka – umożliwiają zbieranie statystyk odwiedzin, np. za pomocą narzędzi Google Analytics (choć nazwa ta jest marką, w kontekście encyklopedycznym opisuje technikę).
- Reklama i targetowanie – używane do tworzenia profili użytkowników w celu wyświetlania spersonalizowanych reklam.
Bezpieczeństwo i prywatność
Choć cookie stanowią przydatne narzędzie, mogą być również wykorzystywane w sposób niepożądany. Najważniejsze zagrożenia to:
- Śledzenie bez zgody – RODO wymaga informowania użytkowników o używaniu cookie i uzyskiwania ich zgody.
- Ataki typu XSS – wstrzyknięcie złośliwego kodu JavaScript (JavaScript) może umożliwić kradzież zawartości cookie.
- Ataki typu CSRF – wykorzystanie autoryzowanych ciasteczek do nieautoryzowanych działań w imieniu użytkownika.
- Cookie przechowywane w nieszyfrowanej formie – mogą zostać odczytane przez osoby trzecie w przypadku braku protokołu HTTPS.
W odpowiedzi na te problemy powstały dodatkowe atrybuty cookie, takie jak Secure (wysyłane wyłącznie przez połączenia szyfrowane) oraz HttpOnly (niedostępne dla skryptów po stronie klienta).
Regulacje prawne
W Unii Europejskiej obowiązuje tzw. dyrektywa ePrivacy, której implementacja w prawie krajowym (np. w Polsce – Ustawa o ochronie danych osobowych) nakłada obowiązek uzyskania wyraźnej zgody użytkownika na stosowanie cookie niekoniecznych do działania serwisu.
Powiązane pojęcia
- HTML – język znaczników, w którym definiuje się atrybuty
Set-CookieiCookie. - JavaScript – język skryptowy umożliwiający odczyt i modyfikację cookie po stronie klienta.
- HTTPS – protokół zapewniający szyfrowanie transmisji i zwiększający bezpieczeństwo ciasteczek.
- Sesja – mechanizm utrzymywania stanu pomiędzy żądaniami HTTP, często realizowany przy pomocy cookie.
- Przeglądarka internetowa – oprogramowanie obsługujące cookie i zapewniające interakcję z serwerem.
Przyszłość
Wraz ze wzrostem wymagań dotyczących prywatności, przemysł internetowy stopniowo przechodzi na alternatywne rozwiązania, takie jak LocalStorage i SessionStorage. Niemniej jednak cookie pozostają fundamentalnym elementem infrastruktury sieciowej, a ich standardy są regularnie aktualizowane przez organizację IETF w dokumencie RFC 6265.