Co przekazesz słuchaczom?
Słuchacze zrozumieja, jak działa protokół HTTP w praktyce - poznaja metody HTTP, kody odpowiedzi serwera oraz najważniejsze nagłówki. Będą potrafili interpretowac komunikacje miedzy przegladarka a serwerem i diagnozowac typowe problemy.
Wprowadzenie (2 min) - Czym jest HTTP i dlaczego każdy programista webowy musi go rozumiec
Teoria: Metody HTTP (2 min) - GET, POST, PUT, DELETE i ich zastosowania
Teoria: Kody odpowiedzi (2 min) - Kategorie 2xx, 3xx, 4xx, 5xx z przykładami
Demo praktyczne (4 min) - Analiza requestow w DevTools przegladarki
Podsumowanie (2 min) - Kluczowe wnioski i najczestsze błędy
Pobieranie danych - najbardziej podstawowa metoda:
Używana do pobierania zasobow (strony, obrazy, API)
Parametry przekazywane w URL (query string)
Bezpieczna i idempotentna (powtorzenie nie zmienia stanu)
Może być cachowana przez przegladarke
GET /api/users?page=1&limit=10 HTTP / 1.1
Wysyłanie danych - tworzenie nowych zasobow:
Dane w ciele zadania (body), nie w URL
Nie jest idempotentna (powtorzenie może tworzyć duplikaty)
Używana do formularzy, uploadu plikow, API
Nie powinna być cachowana
Content-Type : application/json
{ "name" : " Jan " , "email" : " jan@example.com " }
Modyfikacja i usuwanie - operacje CRUD:
PUT : Zastepuje cały zasob nowymi danymi
PATCH : Czesciowa modyfikacja zasobu
DELETE : Usuwa zasob
Wszystkie sa idempotentne
DELETE /api/users/123 HTTP / 1.1
Authorization : Bearer token123
2xx - Sukces
200 OK - Zadanie wykonane pomyslnie
201 Created - Zasob został utworzony
204 No Content - Sukces, brak tresci do zwrocenia
3xx - Przekierowanie
301 Moved Permanently - Zasob przeniesiony na stałe
302 Found - Tymczasowe przekierowanie
304 Not Modified - Zasob nie zmieniony (cache)
4xx - Błąd klienta
400 Bad Request - Nieprawidłowe zadanie
401 Unauthorized - Brak autoryzacji
403 Forbidden - Brak uprawnien
404 Not Found - Zasob nie istnieje
5xx - Błąd serwera
500 Internal Server Error - Błąd wewnętrzny
502 Bad Gateway - Błąd proxy/bramy
503 Service Unavailable - Serwis niedostepny
Nagłówek Kierunek Opis Content-TypeRequest/Response Typ MIME przesyłanych danych AcceptRequest Akceptowane typy odpowiedzi AuthorizationRequest Dane uwierzytelniajace Cache-ControlResponse Instrukcje cachowania Set-CookieResponse Ustawianie ciasteczek CookieRequest Wysyłanie ciasteczek
Przygotuj diagram pokazujacy:
Przegladarka (klient) po lewej stronie
Serwer po prawej stronie
Strzałka “Request” od klienta do serwera
Strzałka “Response” od serwera do klienta
Przy każdej strzałce przykładowe dane (metoda, URL, kody)
Pokaz strukture pełnego requestu:
[Linia startowa: METODA /ścieżka HTTP/1.1]
[Nagłówki: Host, Content-Type, Accept...]
[Ciało zadania (opcjonalne)]
Przygotuj czytelna tabele z 10-12 najczesciej spotykanych kodow, pogrupowanych kolorami według kategorii (2xx-zielony, 3xx-niebieski, 4xx-żółty, 5xx-czerwony).
Diagram sekwencyjny pokazujacy:
Użytkownik wysyła formularz (POST)
Serwer przetwarza i odpowiada 302
Przegladarka automatycznie wykonuje GET
Użytkownik widzi strone potwierdzenia
Otworz DevTools (F12) i przejdz do zakładki Network
Wejdz na dowolna strone (np. google.com)
Pokaz pierwszy request - zwroc uwage na:
Metode (GET)
Status (200)
Nagłówki Request i Response
Rozmiar odpowiedzi i czas ladowania
Znajdz strone z formularzem (np. wyszukiwarka)
Wypełnij formularz i wyslij
Pokaz request POST w DevTools
Zwroc uwage na:
Zakładkę Payload (dane formularza)
Content-Type: application/x-www-form-urlencoded
Ewentualne przekierowanie (301/302)
Wpisz nieistniejacy adres URL
Pokaz kod odpowiedzi 404
Omow, jak serwer informuje o braku zasobu
// Przykład obsługi różnych metod HTTP w PHP
$method = $_SERVER [ ' REQUEST_METHOD ' ];
$id = $_GET [ ' id ' ] ?? null ;
$data = json_decode ( file_get_contents ( ' php://input ' ), true );
header ( ' Location: /api/users/123 ' );
http_response_code ( 405 ); // Method Not Allowed
Wymagania minimalne:
Wyjaśnienie różnic miedzy GET a POST
Pokazanie 1 schematu request/response
Omowienie minimum 3 kodow statusu (np. 200, 404, 500)
Podstawowe demo w DevTools
Ocena: 3.0 (minimum) Wymagania rozszerzone:
Omowienie 5-7 kodow statusu z kontekstem użycia
Przedstawienie minimum 3 ważnych nagłówków
Pokazanie wzorca POST-Redirect-GET
Demo z analiza formularza
Ocena: 4.0-5.0 Wymagania zaawansowane:
Mini-case: projektowanie statusow dla endpointu REST
Porownanie 401 vs 403 oraz 400 vs 422
Omowienie wpływu nagłówków na caching i cookies
Dyskusja o bezpieczenstwie (HTTPS, nagłówki bezpieczeństwa)
Ocena: 5.0-6.0
Pytanie 1
Dlaczego nie powinno się używać GET do wysyłania poufnych danych, takich jak hasła?
Pytanie 2
Jaka jest różnica miedzy kodem 401 (Unauthorized) a 403 (Forbidden)?
Pytanie 3
Dlaczego po wysłaniu formularza POST czesto nastepuje przekierowanie (302)?
Pytanie 4
Jak nagłówek Cache-Control wpływa na wydajnosc aplikacji?
Nie rob tego!
Nie pokazuj listy 30+ kodow HTTP - wybierz 10-12 najwazniejszych
Nie ignoruj nagłówków - sa kluczowe dla działania aplikacji
Nie myl GET i POST - każda metoda ma swoje zastosowanie
Nie zapominaj o bezpieczenstwie - HTTPS to podstawa
HTTP.cat Kody HTTP ilustrowane zdjeciami kotow - swietne do zapamietania.