KWALIFIKACJA INF3 - TEST WIEDZY NR 1

PYTANIE NR 30.
Jakie jest główne różnice między ciasteczkami a sesjami w kontekście programowania aplikacji internetowych?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Cookies to dane zapisywane w przeglądarce (po stronie klienta) i wysyłane z kolejnymi żądaniami HTTP. Sesja oznacza dane utrzymywane po stronie serwera dla danego użytkownika, zwykle skojarzone z identyfikatorem (często przekazywanym w cookie). To rozróżnia miejsce przechowywania stanu.

Pełne wyjaśnienie:

HTTP jest protokołem bezstanowym, więc aplikacje webowe muszą używać mechanizmów, które pozwalają "pamiętać" użytkownika między kolejnymi żądaniami. Dwa podstawowe pojęcia to ciasteczka (cookies) i sesje (sessions).

Cookies są przechowywane po stronie klienta, czyli w przeglądarce. Przeglądarka dołącza je do kolejnych żądań (zgodnie z zasadami domeny, ścieżki, czasu życia itp.). Cookies nadają się np. do przechowywania niektórych preferencji, a także do przechowywania identyfikatora, który pozwala serwerowi rozpoznać użytkownika.

Sesja w typowym ujęciu oznacza dane przechowywane po stronie serwera dla danego użytkownika (np. informacja o zalogowaniu, zawartość koszyka). Serwer musi mieć sposób, aby skojarzyć żądanie z właściwą sesją. W praktyce bardzo często odbywa się to przez identyfikator sesji, który jest przekazywany klientowi i zwracany w kolejnych żądaniach — nierzadko właśnie w cookie. Dlatego poprawne, egzaminacyjne uproszczenie brzmi: cookie jest po stronie klienta, a sesja po stronie serwera.

Dlaczego pozostałe odpowiedzi są błędne?

  • Stwierdzenie, że cookies są na serwerze, odwraca role klienta i serwera: cookie jest utrzymywane w przeglądarce, a nie w pamięci serwera.
  • Stwierdzenie, że oba mechanizmy są po stronie serwera, pomija fakt, że cookie z definicji jest przechowywane po stronie klienta.
  • Stwierdzenie, że oba mechanizmy są po stronie klienta, jest mylące: dane sesji (stan) trzyma serwer; po stronie klienta bywa jedynie identyfikator umożliwiający dostęp do tej sesji.

Wskazówka egzaminacyjna: jeśli pytanie dotyczy "gdzie przechowywane są dane", wybieraj odpowiedź rozróżniającą klient (cookie) i serwer (sesja), pamiętając, że identyfikator sesji może być przesyłany w cookie.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Cookies to małe dane przechowywane w przeglądarce użytkownika i wysyłane do serwera przy kolejnych żądaniach HTTP. Służą m.in. do zapisywania preferencji, identyfikatorów oraz informacji potrzebnych do utrzymania spójnego działania serwisu między odsłonami.
Sesja to mechanizm utrzymywania stanu użytkownika po stronie serwera (np. informacja o zalogowaniu, koszyk). Serwer przypisuje dane do konkretnego użytkownika na podstawie identyfikatora sesji, który jest przekazywany w kolejnych żądaniach.
Najczęściej przyjmuje się: cookie jest przechowywane po stronie klienta (w przeglądarce), a sesja po stronie serwera. To szybka reguła, która pomaga odpowiedzieć na typowe pytania testowe o miejsce przechowywania danych stanu.
Sesja jest trzymana na serwerze, ale serwer musi rozpoznać użytkownika przy kolejnym żądaniu. Dlatego przeglądarka przechowuje i odsyła identyfikator sesji, często właśnie w cookie. Cookie nie musi zawierać danych sesji, tylko klucz do nich.
Zwykle nie powinno się przechowywać w cookie wrażliwych danych (np. hasła). Bezpieczniej jest przechowywać w cookie jedynie identyfikator/znacznik, a właściwy stan i uprawnienia utrzymywać po stronie serwera w sesji. Ważne są też ustawienia bezpieczeństwa cookie.
Gdy dane są wrażliwe, większe lub wymagają pełnej kontroli serwera (np. uprawnienia, dane koszyka, tokeny wewnętrzne). Sesja pozwala ograniczyć ryzyko modyfikacji po stronie klienta, bo użytkownik nie przechowuje pełnej treści stanu w przeglądarce.
Cookies mają ograniczenia rozmiaru i liczby oraz mogą być usuwane przez użytkownika lub polityki prywatności. Dodatkowo błędna konfiguracja (np. brak odpowiednich atrybutów bezpieczeństwa) może zwiększać ryzyko ataków. Dlatego nie są dobrym miejscem na przechowywanie dużych lub poufnych danych.
Często myli się "sesję w przeglądarce" z danymi sesji na serwerze albo zakłada, że skoro identyfikator sesji jest w cookie, to cała sesja jest po stronie klienta. Inny błąd to odwrócenie ról i uznanie, że cookie jest przechowywane na serwerze.
W pytaniach o miejsce przechowywania danych "po stronie klienta" zwykle oznacza przeglądarkę: cookies, localStorage lub sessionStorage. Jeśli odpowiedź mówi o serwerze i utrzymaniu stanu użytkownika, zwykle dotyczy sesji lub danych przechowywanych w bazie/pamięci serwera.
Utrwal trzy rzeczy: gdzie są przechowywane dane (klient vs serwer), po co służą (utrzymanie stanu) oraz jak są powiązane (identyfikator sesji często w cookie). Pomaga też przećwiczenie scenariuszy logowania i koszyka.
info

To pytanie poprawnie rozwiązuje 62% zdających egzamin. średnie

W praktyce zawodowej kluczowe jest to, że cookies to dane zapisywane w przeglądarce (po stronie klienta) i wysyłane z kolejnymi żądaniami HTTP.

Źródła:

  • MDN Web Docs: "Using HTTP cookies" https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies - accessed 2026-03-03
  • MDN Web Docs: "HTTP session" (terminologia i kontekst sesji w aplikacjach webowych) https://developer.mozilla.org/en-US/docs/Web/HTTP - accessed 2026-03-03
  • OWASP Cheat Sheet Series: "Session Management Cheat Sheet" https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html - accessed 2026-03-03

Materiały:

  • Dokumentacja MDN Web Docs o HTTP cookies
  • Dokumentacja MDN o zarządzaniu sesją i mechanizmach uwierzytelniania w WWW
  • OWASP – materiały o zarządzaniu sesją i bezpieczeństwie aplikacji webowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego