Skip to content

HTTP w praktyce: metody, kody, nagłówki

This content is not available in your language yet.

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.

  1. Wprowadzenie (2 min) - Czym jest HTTP i dlaczego każdy programista webowy musi go rozumiec
  2. Teoria: Metody HTTP (2 min) - GET, POST, PUT, DELETE i ich zastosowania
  3. Teoria: Kody odpowiedzi (2 min) - Kategorie 2xx, 3xx, 4xx, 5xx z przykładami
  4. Demo praktyczne (4 min) - Analiza requestow w DevTools przegladarki
  5. 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
Host: example.com
Accept: application/json

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łówekKierunekOpis
Content-TypeRequest/ResponseTyp MIME przesyłanych danych
AcceptRequestAkceptowane typy odpowiedzi
AuthorizationRequestDane uwierzytelniajace
Cache-ControlResponseInstrukcje cachowania
Set-CookieResponseUstawianie ciasteczek
CookieRequestWysył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...]
[Pusta linia]
[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:

  1. Użytkownik wysyła formularz (POST)
  2. Serwer przetwarza i odpowiada 302
  3. Przegladarka automatycznie wykonuje GET
  4. Użytkownik widzi strone potwierdzenia
  1. Otworz DevTools (F12) i przejdz do zakładki Network
  2. Wejdz na dowolna strone (np. google.com)
  3. Pokaz pierwszy request - zwroc uwage na:
    • Metode (GET)
    • Status (200)
    • Nagłówki Request i Response
    • Rozmiar odpowiedzi i czas ladowania
  1. Znajdz strone z formularzem (np. wyszukiwarka)
  2. Wypełnij formularz i wyslij
  3. Pokaz request POST w DevTools
  4. Zwroc uwage na:
    • Zakładkę Payload (dane formularza)
    • Content-Type: application/x-www-form-urlencoded
    • Ewentualne przekierowanie (301/302)
  1. Wpisz nieistniejacy adres URL
  2. Pokaz kod odpowiedzi 404
  3. Omow, jak serwer informuje o braku zasobu
<?php
// Przykład obsługi różnych metod HTTP w PHP
$method = $_SERVER['REQUEST_METHOD'];
switch ($method) {
case 'GET':
// Pobieranie danych
$id = $_GET['id'] ?? null;
// ... logika pobierania
http_response_code(200);
break;
case 'POST':
// Tworzenie zasobu
$data = json_decode(file_get_contents('php://input'), true);
// ... logika tworzenia
http_response_code(201);
header('Location: /api/users/123');
break;
case 'DELETE':
// Usuwanie zasobu
// ... logika usuwania
http_response_code(204);
break;
default:
http_response_code(405); // Method Not Allowed
break;
}

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)

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?