KWALIFIKACJA INF3 - STYCZEŃ 2024 (test 2)

PYTANIE NR 36.
Aby zaprogramować w języku działającym po stronie serwera ankietę, której wyniki będą zapamiętywane w postaci małego pliku po stronie użytkownika należy skorzystać z mechanizmu
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Ciasteczka to niewielkie porcje danych zapisywane w przeglądarce użytkownika i wysyłane przy kolejnych żądaniach HTTP, więc pasują do opisu "małego pliku po stronie użytkownika".
Sesja zwykle przechowuje dane na serwerze, SQL zapisuje w bazie, a $_FILES służy do obsługi uploadu plików.

Pełne wyjaśnienie:

Mechanizm ciasteczek (cookies) służy do przechowywania niewielkich danych po stronie przeglądarki użytkownika. Przeglądarka zapisuje je lokalnie i dołącza do kolejnych żądań HTTP kierowanych do tej samej domeny (zgodnie z atrybutami ciasteczka), co pozwala aplikacji serwerowej "pamiętać" pewne informacje o użytkowniku. Dlatego odpowiedź "ciasteczek" najlepiej odpowiada opisowi: wynik ankiety ma zostać zapamiętany jako mały plik/dane po stronie użytkownika.

Odpowiedź "sesji" jest myląca w tym kontekście: w typowym podejściu dane sesyjne przechowywane są po stronie serwera (np. w plikach lub w pamięci/DB), a po stronie klienta znajduje się co najwyżej identyfikator sesji (często właśnie w ciasteczku). To inny mechanizm i inne miejsce składowania danych.

Odpowiedź "bazy danych SQL" nie pasuje, bo baza danych jest zasobem serwerowym. Jest świetna do trwałego zapisu wyników ankiety dla wielu użytkowników, raportowania i analityki, ale nie spełnia warunku przechowywania "po stronie użytkownika".

Odpowiedź "tablicy globalnej $_FILES" jest błędna, ponieważ ta superglobalna tablica w PHP dotyczy wyłącznie danych o plikach przesłanych metodą HTTP (formularze z uploadem). Nie służy ani do zapisywania preferencji w przeglądarce, ani do utrwalania wyniku ankiety na komputerze użytkownika.

W praktyce warto pamiętać, że współczesne aplikacje WWW często używają też innych mechanizmów po stronie klienta (np. localStorage/sessionStorage) do przechowywania drobnych informacji. Jednak jeśli pytanie wskazuje na klasyczny "mały plik" związany z komunikacją HTTP, to cookies są najbardziej trafnym wyborem.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Ciasteczka to małe dane zapisywane przez przeglądarkę dla danej domeny. Są automatycznie dołączane do kolejnych żądań HTTP, co pozwala serwerowi rozpoznać użytkownika lub zapamiętać ustawienia. Mają ograniczenia rozmiaru i mogą mieć atrybuty bezpieczeństwa (np. HttpOnly, Secure).
Ponieważ wynik można zapisać jako niewielką wartość (np. identyfikator wyboru) w danych przeglądarki. Przy następnym wejściu na stronę przeglądarka wyśle cookie do serwera, a aplikacja odczyta zapis i może odtworzyć stan ankiety lub preferencje użytkownika.
Sesja zwykle przechowuje właściwe dane po stronie serwera, a po stronie klienta znajduje się tylko identyfikator sesji (często w cookie). Ciasteczka przechowują dane bezpośrednio w przeglądarce i są wysyłane w żądaniach. Sesja jest wygodniejsza dla danych wrażliwych i większych.
Tak, ale jest to zapis po stronie serwera. SQL sprawdza się do trwałego gromadzenia wyników wielu użytkowników, raportów i analizy danych. Nie spełnia jednak wymogu "po stronie użytkownika", bo użytkownik nie przechowuje tych danych lokalnie w przeglądarce.
$_FILES zawiera informacje o plikach przesłanych przez formularz (np. nazwa, typ, rozmiar, tymczasowa ścieżka, błędy). Służy do obsługi uploadu, a nie do zapisywania wyników ankiety w przeglądarce. To częsty haczyk, bo nazwa sugeruje "pliki", ale dotyczy tylko transferu.
Nie powinno się trzymać w cookies danych wrażliwych (np. haseł) ani dużych porcji informacji. Ciasteczka są wysyłane w żądaniach, więc wpływają na ruch sieciowy i mogą być narażone na różne ryzyka. Dla większych lub tajnych danych lepsza jest sesja serwerowa.
W praktyce cookies mają niewielki limit rozmiaru i limit liczby na domenę, zależny od przeglądarki. Dlatego w ciasteczkach przechowuje się krótkie wartości (np. identyfikatory, flagi ustawień), a nie całe treści ankiet. Do większych danych stosuje się inne mechanizmy po stronie serwera lub Web Storage.
Nie. Web Storage (localStorage/sessionStorage) to dane dostępne w przeglądarce z poziomu JavaScript i zwykle nie są automatycznie wysyłane do serwera w każdym żądaniu. Cookies są częścią mechanizmu HTTP i mogą być dołączane do żądań. Wybór zależy od celu, bezpieczeństwa i integracji z serwerem.
Najczęściej pomija się pytanie "gdzie są dane": sesja kojarzy się z "logowaniem", więc wybiera się ją automatycznie, mimo że dane ankiety mają być po stronie użytkownika. Drugi błąd to mylenie roli cookie: często przechowuje ono tylko identyfikator sesji, a nie całą zawartość sesji.
Szukaj sformułowań typu: "mały plik po stronie użytkownika", "dane w przeglądarce", "wysyłane przy kolejnych żądaniach", "zapamiętanie ustawień". Jeśli w odpowiedziach pojawiają się sesje, SQL i mechanizmy uploadu, to wskazówka, że testowane jest rozróżnienie klient–serwer.
info

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

W praktyce zawodowej kluczowe jest to, że ciasteczka to niewielkie porcje danych zapisywane w przeglądarce użytkownika i wysyłane przy kolejnych żądaniach HTTP, więc pasują do opisu "małego pliku po stronie użytkownika".

Źródła:

  • MDN Web Docs: "HTTP cookies" — https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies (dostęp: 2026-03-02)
  • PHP Manual: "setcookie" — https://www.php.net/manual/en/function.setcookie.php (dostęp: 2026-03-02)
  • RFC 6265: "HTTP State Management Mechanism" — https://www.rfc-editor.org/rfc/rfc6265 (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja MDN: HTTP cookies
  • Dokumentacja MDN: Web Storage API (localStorage, sessionStorage)
  • Dokumentacja PHP: Cookies i Sessions

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego