Podstawy HTTP i HTTPS
Rozumieć strukturę żądania i odpowiedzi, uzgadnianie TLS oraz znaczenie HTTPS dla bezpieczeństwa
Podstawy HTTP i HTTPS to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Czym jest HTTP?
HTTP (protokół przesyłania hipertekstu) to podstawa komunikacji internetowej. Określa sposób, w jaki przeglądarki żądają zasobów od serwerów i w jaki serwery odpowiadają. HTTP jest bezstanowy — każde żądanie jest niezależne.
Struktura żądania HTTP
Żądanie HTTP zawiera:
- Metodę: GET, POST, PUT, DELETE, PATCH, OPTIONS
- Adres URL: ścieżkę zasobu
- Nagłówki: metadane (Content-Type, Authorization, User-Agent)
- Treść: dane wysyłane wraz z żądaniami POST/PUT
GET /api/users HTTP/1.1
Host: example.com
Authorization: Bearer eyJhbGc...Struktura odpowiedzi HTTP
Odpowiedź HTTP zawiera:
- Kod statusu: 200 OK, 301 Redirect, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Server Error
- Nagłówki: Content-Type, Set-Cookie, nagłówki CORS
- Treść: HTML, JSON lub inna zawartość
Metody HTTP a bezpieczeństwo
Metody HTTP i związane z nimi konsekwencje bezpieczeństwa:
- GET — powinien służyć wyłącznie do odczytu; parametry w adresie URL są zapisywane w logach
- POST — wysyła dane w treści żądania; sam w sobie nie zapewnia bezpieczeństwa
- PUT/DELETE — muszą być chronione uwierzytelnianiem
- OPTIONS — ujawnia dozwolone metody; może ujawnić błędną konfigurację
Co zapewnia HTTPS
HTTPS = HTTP + szyfrowanie TLS. Zapewnia:
- Szyfrowanie: dane przesyłane w sieci są szyfrowane (poufność)
- Integralność: modyfikowanie danych jest wykrywane za pomocą MAC
- Uwierzytelnianie: tożsamość serwera jest weryfikowana za pomocą certyfikatu
Bez HTTPS wszystkie dane, w tym hasła i tokeny sesji, są widoczne dla osób podsłuchujących ruch sieciowy.
Przegląd uzgadniania TLS
Podczas łączenia się z witryną HTTPS:
- Klient wysyła obsługiwane zestawy szyfrów
- Serwer wysyła certyfikat i wybrany szyfr
- Klient weryfikuje certyfikat względem zaufanych urzędów certyfikacji
- Wymiana kluczy ustanawia współdzielony klucz sesji
- Rozpoczyna się szyfrowana komunikacja
Nagłówki bezpieczeństwa HTTP
Ważne nagłówki bezpieczeństwa odpowiedzi:
- Strict-Transport-Security (HSTS) — wymusza HTTPS
- Content-Security-Policy (CSP) — kontroluje, jakie zasoby są ładowane
- X-Frame-Options — zapobiega clickjackingowi
- X-Content-Type-Options — zapobiega wykrywaniu typu MIME
Cookies i sesje
HTTP jest bezstanowy, dlatego sesje są śledzone za pomocą cookies. Bezpieczne atrybuty cookies:
- HttpOnly — niedostępne za pośrednictwem JavaScriptu (zapobiega kradzieży przez XSS)
- Secure — wysyłane wyłącznie przez HTTPS
- SameSite=Strict/Lax — zapobiega atakom CSRF
HTTPS nie oznacza bezpieczeństwa
HTTPS szyfruje wyłącznie kanał, a nie treść. Witryna phishingowa może korzystać z HTTPS (ikony kłódki), a jednocześnie udostępniać złośliwe treści. HTTPS potwierdza tożsamość serwera, ale nie jego wiarygodność.
HTTP/2 i HTTP/3
Nowoczesne wersje HTTP zwiększają wydajność:
- HTTP/2 — multipleksowanie, kompresja nagłówków i server push przez TLS
- HTTP/3 — korzysta z QUIC (opartego na UDP), aby zmniejszyć opóźnienia, szczególnie na urządzeniach mobilnych
Obie wersje wymagają TLS. Implikacje bezpieczeństwa są podobne jak w HTTP/1.1, ale powierzchnia ataku nieco się zmienia.
Analizowanie ruchu HTTP
Narzędzia do analizowania HTTP:
- Burp Suite — przechwytuje i modyfikuje żądania oraz odpowiedzi
- curl — wysyła żądania z wiersza poleceń
- Wireshark — przechwytuje surowy ruch (HTTP jest widoczny, a HTTPS zaszyfrowany)
curl -v https://example.com
curl -X POST -H "Content-Type: application/json" -d '{"user":"test"}' https://api.example.com/loginSzybki sprawdzian: HTTP i HTTPS
Jaki atrybut cookie uniemożliwia dostęp do cookie za pośrednictwem JavaScriptu, chroniąc je przed kradzieżą przez XSS?
Podsumowanie lekcji
HTTP jest podstawą komunikacji internetowej. HTTPS dodaje szyfrowanie TLS, integralność i uwierzytelnianie serwera. Nagłówki bezpieczeństwa zwiększają odporność aplikacji internetowych. Cookies należy oznaczać atrybutami HttpOnly, Secure i SameSite. Należy pamiętać: HTTPS szyfruje kanał, ale nie gwarantuje, że witryna jest wiarygodna.
Często zadawane pytania
Czy lekcja „Podstawy HTTP i HTTPS” jest bezpłatna?
Tak — pełny tekst „Podstawy HTTP i HTTPS” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podstawy HTTP i HTTPS”?
Rozumieć strukturę żądania i odpowiedzi, uzgadnianie TLS oraz znaczenie HTTPS dla bezpieczeństwa Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Podstawy HTTP i HTTPS”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Adresowanie IP i podsieci
- TCP a UDP: kiedy używa się każdego z nich
- DNS: jak domeny są tłumaczone na adresy IP
- Podstawy HTTP i HTTPS