Co to są pliki cookie?

Sieć jest tak zaprojektowana, aby każde żądanie wysyłane przez przeglądarkę do witryny było oddzielne. Internet nie ma „pamięci”. Za każdym razem, gdy otwierasz stronę internetową, nie może ona zapamiętać informacji z poprzedniej sesji. Dzięki temu internet staje się wydajniejszy i prostszy, ponieważ nie trzeba tworzyć mechanizmu śledzenia żądań i odpowiedzi.

Ale zapominalski charakter internetu też stanowi problem. Jak na przykład może działać koszyk, jeśli witryna, na której się znajdujesz, nie pamięta, co zostało w nim umieszczone?

Pliki cookie zostały wynalezione, aby rozwiązać ten problem.

Pliki cookie zapewniają pamięć witrynom

Gdy odwiedzasz stronę w witrynie, przeglądarka wysyła żądania do serwera witryny w celu uzyskania zasobów zawartych na stronie, takich jak HTML, CSS, JavaScript lub obrazy.

Przeglądarki internetowe i witryny internetowe komunikują się ze sobą zgodnie z protokołem HTTP. Jest to standardowy zbiór zasad dotyczących komunikacji.

W odpowiedzi na żądanie HTTP dotyczące zasobu serwer strony internetowej może dołączyć do niego dodatkowe informacje, tzw. nagłówki. Nagłówek Set-Cookie zawarty w odpowiedzi HTTP informuje przeglądarkę, aby przechowywała pewien tekst: nazwę i wartość. Nazywamy to plikami cookie. Na przykład nagłówek odpowiedzi Set-Cookie:cat=tabby informuje przeglądarkę, aby zapisała plik cookie o nazwie „kot” i wartości „pręgowany”.

Po ustawieniu tego pliku cookie kolejne żądania wysyłane przez przeglądarkę do witryny będą zawierać nagłówek Cookie:cat=tabby. Serwer witryny może uzyskać dostęp do pliku cookie z nagłówka żądania i wykorzystać jego wartość.

Jak działają pliki cookie: instrukcje

Wyobraź sobie, że wchodzisz na stronę cats.example. Witryna chce wyświetlić Ci losowy obraz kota i zaznaczyć, który kot został wyświetlony.

W poniższych krokach wyjaśniono, jak to zrobić za pomocą plików cookie.

1. Przeglądarka wysyła żądanie pliku

Otwierasz stronę główną witryny cats.example.

Przeglądarka wysyła żądania plików na stronie, w tym cat.jpgcats.example.

żądanie HTTP do https://cats.example/cat.jpg;

2. Serwer witryny odpowiada

Serwer pod adresem cats.example odpowiada plikiem graficznym cat.jpg.

W odpowiedzi serwer zawiera nagłówek Set-Cookie:cat=tabby.

Odpowiedź HTTP z adresu https://cats.example/cat.jpg z nagłówkiem Set-Cookie:cat=tabby

3. Przeglądarka otrzymuje odpowiedź

Przeglądarka odbiera plik obrazu i przetwarza zawarty w nim nagłówek Set-Cookie:cat=tabby.

Plik cookie jest przechowywany: nazwa cat, wartość tabby.

Kot w złotym świetle w przeglądarce na laptopie.

4. Przeglądarka wysyła dodatkowe żądania

Od teraz Twoja przeglądarka będzie dołączać nagłówek Cookie:cat=tabby do żądań wysyłanych do witryny cats.example.

Żądanie HTTP do https://cats.example/cat.jpg z nagłówkiem Cookie:cat=tabby

Gdy serwer WWW cats.example otrzyma żądanie, może przetworzyć plik cookie i zrobić z tą wartością, co tylko zechce, np. upewnić się, że nie wyśle Ci ponownie zdjęcia tego samego rudego kota.

Oto cały proces dotyczący plików cookie:

  1. Przeglądarka wysyła żądanie pliku do witryny.
  2. Serwer witryny może dołączyć nagłówek, np. Set-Cookie:cat=tabby, wraz z plikiem wysyłanym w odpowiedzi na żądanie.
  3. Gdy przeglądarka otrzyma odpowiedź, zapisuje plik cookie.
  4. Przy każdym kolejnym żądaniu przeglądarka wysyła plik cookie do serwera w nagłówku Cookie:cat=tabby.


Diagram sekwencji przedstawiający żądania i odpowiedzi między przeglądarką internetową, cats.example i cats.example, pokazujący, jak pliki cookie są ustawiane i wysyłane.

Dostęp do plików cookie za pomocą JavaScript

Poprzedni przykład używa nagłówka odpowiedzi Set-Cookie do ustawienia pliku cookie.

Pliki cookie można też tworzyć za pomocą JavaScriptu, korzystając z metody document.cookie.

Wypróbuj wersję demonstracyjną: javascript-cookie.glitch.me/.

Więcej informacji: Dokument: usługa plików cookie.

Dlaczego potrzebujemy plików cookie?

W 1994 r. inżynier Lou Montulli pracował w firmie Netscape, która stworzyła najpopularniejszą przeglądarkę internetową z połowy lat 90. XX w. Tymczasem firma telekomunikacyjna MCI próbowała stworzyć funkcję koszyka dla jednego z pierwszych sklepów internetowych na świecie. Firma MCI skontaktowała się z Montulli, aby wyjaśnić problem. W odpowiedzi na to dodał do HTTP funkcję, która umożliwiała witrynie przechowywanie w przeglądarce użytkownika niewielkiej ilości tekstu, nazwy i wartości, np. cart-id=123. Nazwał go „cookie”, ponieważ w tamtych czasach programiści używali słowa „magic cookie” na określenie niewielkiego fragmentu dodatkowej informacji dołączonej do komunikacji danych.

Lou ukończył pracę nad HTTP cookie w mniej niż tydzień. Nie wiedział, że pliki cookie będą miały fundamentalne znaczenie dla reklam, logowania, płatności, wykrywania oszustw i innych kluczowych usług internetowych. Pliki cookie to bardzo prosta technologia, która miała dalekosiężne skutki uboczne.

Użycie plików cookie

Pliki cookie umożliwiają przeglądarce przechowywanie niewielkiej ilości informacji o użytkowniku, aby „zapamiętać” coś na potrzeby wielu żądań. Pliki cookie mają wiele zastosowań:

  • Zarządzanie sesją
    Pozwala witrynie rozpoznawać użytkownika, np. aby zachować stan zalogowania na różnych stronach.
  • Personalizacja
    Zapisywanie preferencji użytkownika, takich jak język, motyw czy ostatnio przeglądane elementy, aby dostosować działanie witryny.
  • Śledzenie
    Pliki cookie były używane do śledzenia zachowań użytkowników w witrynach na potrzeby reklamy ukierunkowanej i innych zastosowań.

Zamiast tego pliki cookie są zwykle używane do przechowywania i przekazywania identyfikatorów, które są przetwarzane przez serwer. Na przykład nagłówek z żądaniem do usługi analityki internetowej może zawierać taki plik cookie:

Cookie: _analytics=ANALYTICS1.2.34567890.123456789

Serwer analityczny, który otrzymuje żądanie, może przetworzyć identyfikator wraz z innymi informacjami o stronie.

Więcej informacji