Sobes.tech
Junior

Jak działają pliki cookie?

sobes.tech AI

Odpowiedź od AI

Ciasteczka to małe fragmenty danych, które serwer wysyła do przeglądarki klienta i które są na niej przechowywane. Przy kolejnych żądaniach do tego samego serwera, przeglądarka odsyła te ciasteczka z powrotem.

Proces działania:

  1. Wysyłka przez serwer: Przy pierwszym żądaniu klienta do aplikacji internetowej, serwer może dołączyć do nagłówka HTTP Set-Cookie. Nagłówek ten zawiera informacje o ciasteczkach, które przeglądarka powinna zapisać.
    // Przykład nagłówka Set-Cookie w odpowiedzi HTTP
    Set-Cookie: sessionid=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT; Secure; HttpOnly
    
    • sessionid=abc123: Nazwa i wartość ciasteczka.
    • Expires: Data i czas wygaśnięcia ciasteczka. Jeśli nieobecne, ciasteczko będzie sesyjne (usuwane po zamknięciu przeglądarki).
    • Secure: Wysyłać ciasteczko tylko przez HTTPS.
    • HttpOnly: Zabrania dostępu do ciasteczka przez JavaScript (zwiększa bezpieczeństwo).
  2. Przechowywanie przez przeglądarkę: Przeglądarka otrzymuje nagłówek Set-Cookie i zapisuje ciasteczka w lokalnym magazynie. Każde ciasteczko jest powiązane z określoną domeną i opcjonalnie ścieżką.
  3. Wysyłka przez przeglądarkę: Przy kolejnych żądaniach do domeny, dla której zapisano ciasteczka, przeglądarka automatycznie dołącza je do nagłówka Cookie w żądaniu HTTP.
    // Przykład nagłówka Cookie w żądaniu HTTP
    Cookie: sessionid=abc123
    
  4. Przetwarzanie przez serwer: Serwer otrzymuje ciasteczka z nagłówka Cookie i używa ich do identyfikacji klienta, utrzymania stanu sesji, personalizacji treści i innych celów.

Główne atrybuty ciasteczek:

Atrybut Opis
Expires Data i czas, kiedy ciasteczko przestanie być ważne.
Max-Age Maksymalny czas życia ciasteczka w sekundach. Priorytet nad Expires.
Domain Domena, dla której ciasteczko jest ważne. Domyślnie bieżąca domena.
Path Ścieżka w obrębie domeny, dla której ciasteczko jest ważne.
Secure Wysyłać ciasteczko tylko przez bezpieczne połączenie (HTTPS).
HttpOnly Zabrania dostępu do ciasteczka przez JavaScript.
SameSite Zarządza wysyłaniem ciasteczek przy żądaniach między witrynami (ochrona CSRF).

Użycie ciasteczek:

  • Zarządzanie sesjami: Zapisywanie identyfikatora sesji w celu utrzymania stanu użytkownika między żądaniami.
  • Personalizacja: Zapamiętywanie preferencji użytkownika, np. języka lub motywu.
  • Śledzenie: Analiza zachowania użytkownika na stronie (za jego zgodą).

Ograniczenia:

  • Ograniczona wielkość danych (zazwyczaj około 4 KB na ciasteczko).
  • Ograniczona liczba ciasteczek na domenę.
  • Mogą być wyłączone lub usunięte przez użytkownika.