# Informatyka — zadanie 3.1

> Źródło: matura.lol — https://matura.lol/question/maturazai-informatyka-inf-2018-05/zad/3.1
> Wersja Markdown strony zadania (dla asystentów AI). Przy cytowaniu podaj matura.lol i link powyżej.

- arkusz: Informatyka · Matura · maj 2018 (rozszerzona)
- rok: 2018
- poziom: rozszerzona
- typ: closed
- punkty: 1
- działy: Sieci komputerowe, programowanie

## Treść

Zadanie 3. Test

Na pewnym serwerze WWW znajduje się strona napisana w języku PHP, a jej kod zawiera fragmenty w języku JavaScript. Pewien komputer-klient pobrał i wyświetlił tę stronę.

Oceń prawdziwość poniższych zdań dotyczących wykonywania kodu PHP i JavaScript.

Kod PHP jest wykonywany przez komputer - serwer.
Kod JavaScript jest wykonywany przez komputer - klient.
Podczas wykonywania kodu PHP zawsze pobierane są dane od klienta.
Podczas wykonywania kodu JavaScript mogą być pobierane dodatkowe dane zarówno od klienta, jak i od serwera.

## Rozwiązanie — maturazai.pl (AI)

## Poprawna odpowiedź

**1) P, 2) P, 3) F, 4) P**

## Sposób 1 - analiza poszczególnych stwierdzeń

### Stwierdzenie 1: PHP wykonywany przez serwer → **P**

**PHP** (PHP: Hypertext Preprocessor) to **język serwerowy**. Kod PHP jest interpretowany przez interpreter PHP na serwerze WWW (np. Apache + mod_php, lub PHP-FPM). Wynik to **statyczny HTML**, który wysyłany jest do przeglądarki klienta.

**Klient NIE WIDZI** kodu PHP - widzi tylko wygenerowany przez PHP wynik.

### Stwierdzenie 2: JavaScript wykonywany przez klienta → **P**

**JavaScript** (w klasycznym webie) to **język klienta** - wykonywany przez silnik JS w przeglądarce (V8 w Chrome, SpiderMonkey w Firefox, JavaScriptCore w Safari).

UWAGA: Node.js to JavaScript po stronie SERWERA, ale w kontekście strony WWW (treść mówi o stronie w PHP z fragmentami JS) - fragmenty JS w `<script>` są wykonywane przez przeglądarkę klienta.

### Stwierdzenie 3: PHP ZAWSZE pobiera dane od klienta → **F**

**Fałsz.** PHP MOŻE pobierać dane od klienta (przez formularze GET/POST, cookies, sesje), ale **nie zawsze tak robi**. Prosta strona PHP może po prostu wyświetlać aktualną datę z serwera lub liczyć liczbę odwiedzin - bez pobierania ŻADNYCH danych od klienta.

Kwantyfikator "zawsze" sprawia, że stwierdzenie jest fałszywe.

### Stwierdzenie 4: JS może pobierać dane od klienta I od serwera → **P**

**Prawda.** JavaScript w przeglądarce:
- **Od klienta**: localStorage, sessionStorage, cookies, formularze, eventy klawiatury/myszy, czujniki.
- **Od serwera**: `fetch()`, XMLHttpRequest (AJAX), WebSockets, Server-Sent Events.

To właśnie zapewnia interaktywność współczesnych aplikacji webowych (np. Facebook, Gmail).

## Reference informatyczny - model klient-serwer w WWW

> Reference - Architektura klient-serwer:
> - **Klient** (browser): renderuje HTML, CSS; wykonuje JavaScript; obsługuje user input.
> - **Serwer**: obsługuje requesty HTTP; uruchamia kod backendowy (PHP, Python, Java, Node.js); zwraca odpowiedź (HTML/JSON/itd.).
>
> Reference - Języki webowe:
> | Język | Strona | Wykonanie |
> |-------|--------|-----------|
> | HTML | klient | renderowanie struktury |
> | CSS | klient | stylowanie |
> | JavaScript | klient (browser) | interaktywność |
> | PHP | serwer | generowanie HTML, logika biznesowa |
> | Python (Django/Flask) | serwer | jak PHP |
> | Node.js | serwer | JS na serwerze |
> | SQL | serwer (DB) | zapytania do bazy |
>
> Reference - Komunikacja w obie strony:
> - **GET / POST** - request od klienta do serwera, response w drugą stronę.
> - **AJAX (XHR, fetch)** - asynchroniczne pobieranie danych przez JS po załadowaniu strony.
> - **WebSocket** - dwukierunkowe, ciągłe połączenie klient-serwer.

## Schemat oceniania CKE

> Klucz CKE (zadanie 3.1, max 1 pkt):
> - **1 pkt** - wszystkie 4 odpowiedzi poprawne: P, P, F, P
> - **0 pkt** - niepełna lub błędna

## Typowe pułapki

- **Mylenie języków serwerowych z klienckimi** - PHP/Python/Java to SERVER; JavaScript klasycznie CLIENT.
- **Stwierdzenie 3: kwantyfikator "zawsze"** - uczniowie myślą "PHP obsługuje formularze, więc tak", ale `zawsze` jest za mocne. Wystarczy 1 przykład PHP bez wejścia od klienta (np. echo "witaj") = fałsz.
- **JS tylko od klienta** - niedocenienie AJAX/fetch. JS może i pobiera od serwera (to clue Web 2.0).
- **Mylenie Node.js z klasycznym JS w przeglądarce** - w treści mówimy o stronie WWW, więc JS = przeglądarka.

## Złożoność obliczeniowa

N/A - zadanie teoretyczne z zakresu technologii webowych.

## Linki

- [dane JSON](https://matura.lol/api/question/maturazai-informatyka-inf-2018-05/zad/3.1)
- [otwórz w wyszukiwarce](https://matura.lol/?problem=maturazai-informatyka-inf-2018-05%2Fzad%2F3.1)

## Podobne zadania

- [Zadanie 3.1](https://matura.lol/question/informatyka-2018-maj-matura-rozszerzona/zad/3.1) — Zadanie 3. Test Na pewnym serwerze WWW znajduje się strona napisana w języku PHP, a jej kod zawiera fragmenty w języku JavaScript. Pewien komputer-klient pobrał
- [Zadanie 15](https://matura.lol/question/informator-maturalny-informatyka-2023/zad/15) — Zadanie 15. (0-1) Poniżej opisano pojęcia z zakresu technologii przesyłania danych w sieciach. Przyporządkuj właściwą nazwę, korzystając z poniższej listy, i wp

_Ostatnia aktualizacja danych: 2026-10-03_
