4 grudnia
DZIEŃ CIASTECZEK
4 grudnia obchodzimy Dzień ciasteczek.
Come to the Dark Side – We have cookies!
Lubimy ciasteczka – ich smak, zapach, kruchość, miękkość, ten wzrost endorfin przy pierwszym kęsie. Ale dziś o innym rodzaju wypieków. O ciastkach, które nie tuczą, choć gdy jest ich dużo, to sporo ważą, mówi dr Tomasz Xięski.
„Kartka z kalendarza” to cykl artykułów, które powstawały z okazji różnych nietypowych świąt. Autorami prezentowanych materiałów są studenci, doktoranci i pracownicy Wydziału Nauk Ścisłych i Technicznych UŚ.
Fot. Tomasz Kawka, materiały UŚ
Grudzień wprowadza nas często w przedświąteczny nastrój. Mamy bowiem Mikołaja, Barbórkę czy wreszcie przygotowania do Świąt Bożego Narodzenia. Ale nie każdy wie, że 4 grudnia w Ameryce zapoczątkowano obchody Dnia Ciasteczek. Któż z nas nie lubi od czasu do czasu raczyć się swoim ulubionym rodzajem ciasteczek – czy to miękkie czy kruche, słone czy słodkie, jest ich tyle rodzajów, że każdy znajdzie coś dla siebie. Niemniej nawet jak jesteśmy aktualnie na diecie, to jest pewien rodzaj ciasteczek, z których możemy korzystać w dużych ilościach zupełnie bezkarnie – te, spotykane podczas przeglądania sieci Internet.
Zgódź się na ciasteczka!
Któż z nas nie natknął się chociaż raz na komunikat informujący, że ta strona internetowa wykorzystuje ciasteczka (ang. cookies)? Nawet wchodząc po raz pierwszy na stronę Uniwersytetu Śląskiego (www.us.edu.pl), przywita nas komunikat mówiący: „Korzystając ze strony, wyrażasz zgodę na używanie cookie, zgodnie z aktualnymi ustawieniami przeglądarki”. Oczywiście mnogość tych komunikatów wynika przede wszystkim ze wprowadzonej nowelizacji Prawa telekomunikacyjnego (ustawy z dnia 16 lipca 2004 r.), a konkretniej artykułów 173 i 174, w uproszczeniu regulujących przechowywanie i dostęp do informacji znajdujących się w urządzeniach końcowych użytkowników. Choć wspomniana ustawa nie wymienia bezpośrednio pojęcia ciasteczek, to jednak właśnie tutaj znajduje ono swoje zastosowanie. Obecnie by móc leganie wykorzystywać ciasteczka, użytkownik musi zostać w sposób jasny i bezpośredni o nich poinformowany, jak również musi udzielić zgody na ich wykorzystywanie. Jednak, pomijając chwilowo kwestie prawne, czy zastanawiałeś się kiedyś Drogi Czytelniku bądź Czytelniczko, czym są w istocie wspomniane ciasteczka?
Ciasteczka – historia nie z cukierni
Wbrew pozorom odpowiedź na pytanie postawione na końcu poprzedniego akapitu, wcale nie jest taka oczywista. Wpisując do wyszukiwarki internetowej hasło „Czym są cookies?”, możemy się dowiedzieć, że są to małe pliki tekstowe zapisywane przez witrynę internetową, dane informatyczne przechowywane na urządzeniu końcowym użytkownika po odwiedzeniu danej strony w Internecie, czy też niewielkie porcje informacji wysyłane przez serwis internetowy. Widać zatem, że panuje tu pewnego rodzaju nieścisłość.
Z czego może ona wynikać? Chociażby z formy przechowywania wspomnianych ciasteczek – wcale nie musi to być zbiór plików tekstowych. Można sobie bowiem wyobrazić przeglądarkę, która przechowuje wszystkie ciasteczka w ramach dedykowanej bazy danych. Jednakże zazwyczaj nie musimy się przejmować kwestią faktycznej implementacji przez przeglądarkę internetową sposobu przechowywania i dostępu do ciasteczek. Dużo bardziej istotna wydaje się odpowiedź na pytanie „Po co właściwie wymyślono ten cały mechanizm?”.
Zarówno sam termin „cookies” jak również sposób ich wykorzystania w Internecie zawdzięczamy głównie programiście Lou Montulli, który wówczas pracował (w 1994 roku) w firmie Netscape Communications Corporation. Nieco starsi czytelnicy być może kojarzą nawet wydaną w latach 90-tych przeglądarkę Mosaic Netscape (która później zmieniła nazwę na Netscape Navigator/Communicator). Notabene to właśnie prace poczynione przez Netscape stały się podwaliną do powstania popularniej po dziś dzień przeglądarki Mozilla Firefox. Zastanówmy się zatem, po co były (i są dalej wykorzystywane) ciasteczka?
Przeglądając strony internetowe, korzystamy najczęściej z protokołu HTTP (a właściwie jego bezpieczniejszej wersji HTTPS uwzględniającej szyfrowanie). Protokół ten uwzględnia zestaw ujednoliconych zasad, jak ma wyglądać komunikacja między klientem (przeglądarką internetową) a serwerem, udostępniającym strony internetowe. Strony internetowe posiadają zazwyczaj szereg odnośników (zwanych potocznie linkami) do innych części danego serwisu internetowego, czy nawet innych interesujących zasobów w Internecie (stąd też pierwsze litery w nazwie protokołu HTTP odnoszą się właśnie do jego tzw. hipertekstowej natury). Być może korzystaliście z Wikipedii bądź innej internetowej encyklopedii, a dzięki licznym odnośnikom zawartym w treści danego artykułu z łatwością można było przejść do powiązanych z nim informacji dodatkowych. Jednakże mówi się, że protokół HTTP (w wersji 1.X) jest protokołem bezstanowym. Oznacza to, że przechodząc z jednej strony internetowej do drugiej (lub po prostu klikając na jakiś kolejny odnośnik), sam protokół nie zapewnia nam np. śledzenia czy kontroli nad sesją użytkownika i jego poczynaniami na różnych sekcjach serwisu internetowego.
Wchodzisz do dowolnego sklepu, a tam… ciasteczka!
To właśnie taka możliwość śledzenia sesji danego użytkownika jest podstawą działania np. dowolnego sklepu internetowego. To właśnie ten element pozwala nam (po zalogowaniu się do sklepu internetowego) płynnie poruszać się po swoim koncie czy ofercie sklepu, dodawać produkty do wirtualnego koszyka czy zaplanować płatność – wszystko w ramach jednego procesu (sesji) zakupowej. A gdzie w tym wszystkim są ciasteczka? To właśnie w ramach ciasteczek często przechowywane są informacje dotyczące danej sesji użytkownika – mogą to być np. produkty dodane do koszyka zakupowego (sklepu internetowego), których w danym momencie jeszcze ostatecznie nie kupiliśmy, ale po powtórnej wizycie na naszym koncie te same produkty mogą już na nas dalej oczekiwać w koszyku.
Podobnie dzięki ciasteczkom możemy zapamiętać swoje dane logowania – przecież wiele serwisów internetowych oferuje w formularzu logowania opcję „zapamiętaj hasło”, dzięki czemu po powtórnej wizycie na danej stronie nie musimy podawać go ponownie. Oczywiście zastosowań ciasteczek jest o wiele więcej – od dostosowania zawartości strony internetowej do preferencji użytkownika, pomoc w zbieraniu statystyk odwiedzin czy lepszemu profilowaniu pod kątem wyświetlanych reklam. Można zatem powiedzieć, że przeglądarka internetowa nieustannie zapisuje jakieś ciasteczka bądź wysyła ich treść do określonego serwisu internetowego, by nasza interakcja z serwisami internetowymi była pozbawiona niepotrzebnych komplikacji.
Więcej o ciasteczkach?
Bardziej dociekliwych Czytelników odsyłam do specyfikacji RFC6265, która definiuje tzw. Mechanizm zarządzania stanem protokołu HTTP (ang. HTTP State Management Mechanism), w tym nagłówki Cookie i Set-Cookie, dzięki którym ta cała (często niewidoczna dla nas na pierwszy rzut oka) komunikacja między przeglądarką a serwerem WWW ma miejsce.