KWALIFIKACJA INF3 - TEST WIEDZY NR 1

PYTANIE NR 29.
Jakie jest główne zastosowanie sesji w programowaniu aplikacji internetowych?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Sesja w aplikacji webowej służy do utrzymania stanu użytkownika pomiędzy kolejnymi interakcjami z serwerem, np. po zalogowaniu lub podczas budowania koszyka. Dzięki temu aplikacja może przechowywać dane przypisane do konkretnego użytkownika, mimo że HTTP jest protokołem bezstanowym.

Pełne wyjaśnienie:

Sesja w aplikacjach internetowych jest mechanizmem pozwalającym powiązać wiele kolejnych żądań HTTP z tym samym użytkownikiem i przechowywać jego dane w trakcie korzystania z aplikacji. Ponieważ HTTP jest protokołem bezstanowym, serwer "nie pamięta" użytkownika między żądaniami bez dodatkowego mechanizmu. Sesja rozwiązuje ten problem: aplikacja utrzymuje informacje o stanie (np. zalogowanie, koszyk, preferencje) i identyfikuje użytkownika zwykle poprzez identyfikator sesji.

Odpowiedź "Przechowywanie danych użytkownika między różnymi stronami." trafia w istotę: sesja pozwala zachować dane użytkownika podczas przechodzenia po aplikacji (czyli w praktyce między kolejnymi żądaniami/zasobami). To typowe zastosowanie w systemach logowania, panelach administracyjnych czy sklepach internetowych.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Śledzenie ruchu użytkownika na stronie." – śledzenie ruchu (analytics) realizuje się narzędziami analitycznymi lub logami serwera; sesja może być pomocniczo użyta do rozpoznania użytkownika, ale to nie jest jej główna rola.
  • "Zabezpieczanie strony przed atakami hakerskimi." – bezpieczeństwo wymaga wielu mechanizmów (np. kontrola dostępu, walidacja danych, nagłówki bezpieczeństwa). Sesja sama w sobie nie "zabezpiecza"; przeciwnie, sesję trzeba chronić przed przejęciem.
  • "Przyspieszanie ładowania strony." – to domena cache, kompresji, optymalizacji zasobów i wydajności serwera. Sesje mogą nawet wprowadzać narzut, jeśli są źle zaprojektowane.

Wskazówka egzaminacyjna: gdy w pytaniu pojawia się "sesja", najczęściej chodzi o utrzymanie stanu (login, koszyk, ustawienia) i identyfikację użytkownika między kolejnymi żądaniami.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Sesja to mechanizm utrzymania stanu użytkownika w aplikacji webowej między kolejnymi żądaniami. Pozwala np. "pamiętać" zalogowanie, koszyk lub preferencje. Zwykle opiera się o identyfikator sesji, którym aplikacja rozpoznaje użytkownika.
HTTP jest protokołem bezstanowym, więc każde żądanie jest niezależne. Bez sesji serwer nie wiedziałby, że kolejne żądania pochodzą od tego samego użytkownika. Sesja dodaje warstwę "pamięci" potrzebną do logowania i pracy aplikacji.
Najczęściej przechowuje się identyfikator użytkownika po logowaniu, role/uprawnienia, tokeny anty-CSRF, zawartość koszyka, etap formularza wielostronicowego lub ustawienia interfejsu. Dobre praktyki to trzymać mało danych i unikać wrażliwych informacji wprost.
Sesja to koncepcja utrzymania stanu (często dane są po stronie serwera), a ciasteczko to sposób przechowania informacji w przeglądarce. Często w ciasteczku zapisuje się tylko identyfikator sesji, a właściwe dane sesji są na serwerze.
Nie jest to główne zastosowanie. Śledzenie ruchu to zwykle analityka (np. zdarzenia, statystyki, logi). Sesja może pomóc rozpoznać użytkownika w trakcie wizyty, ale jej podstawową rolą jest utrzymanie stanu aplikacji (np. logowanie, koszyk).
Po poprawnym logowaniu aplikacja zapisuje w sesji informację, że użytkownik jest uwierzytelniony (np. jego identyfikator i rolę). Przy kolejnych żądaniach, jeśli identyfikator sesji jest poprawny, aplikacja wie, że ten sam użytkownik nadal jest zalogowany.
Jeśli napastnik przejmie identyfikator sesji (np. przez wyciek, XSS lub niezabezpieczone połączenie), może "podszyć się" pod użytkownika. Dlatego ważne są dobre praktyki: HTTPS, ograniczenia ciasteczek, rotacja identyfikatora po logowaniu i sensowne wygasanie sesji.
Sesja wygasa po określonym czasie bez aktywności albo po zamknięciu przeglądarki (zależnie od konfiguracji). Dla użytkownika oznacza to zwykle konieczność ponownego logowania lub utratę tymczasowych danych (np. etapu formularza), jeśli aplikacja nie zapisuje ich trwale.
Najczęstsze pomyłki to mylenie sesji z cache (wydajność), z narzędziami analitycznymi (ruch na stronie) oraz traktowanie sesji jako "mechanizmu bezpieczeństwa". Na pytaniach testowych szukaj słów-kluczy: stan, logowanie, koszyk, ciąg żądań.
Wskazówkami są sytuacje typu: użytkownik przechodzi między podstronami, odświeża stronę, wysyła kolejne żądania i aplikacja ma "pamiętać" dane (login, koszyk, uprawnienia). Wtedy poprawna odpowiedź zwykle dotyczy przechowywania danych użytkownika między żądaniami.
info

Statystycznie 61% uczniów zna prawidłową odpowiedź. średnie

Według specjalistów z branży: "Sesja w aplikacji webowej służy do utrzymania stanu użytkownika pomiędzy kolejnymi interakcjami z serwerem, np. po zalogowaniu lub podczas budowania koszyka."

Źródła:

  • OWASP Cheat Sheet Series: Session Management Cheat Sheet, https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html - dostęp 2026-03-01
  • MDN Web Docs: Using HTTP cookies, https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies - dostęp 2026-03-01
  • PHP Manual: Sessions (session handling), https://www.php.net/manual/en/book.session.php - dostęp 2026-03-01

Materiały:

  • Dokumentacja MDN: przegląd mechanizmów HTTP i ciasteczek
  • OWASP Cheat Sheet: Session Management
  • Dokumentacja języka/technologii używanej na zajęciach (np. PHP session, frameworkowe session)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego