Protokół HTTP i jego szyfrowana wersja HTTPS – rola SSL/TLS, certyfikatów i kłódki w pasku adresu przeglądarki.
HTTP to protokół, którym przeglądarka rozmawia z serwerem strony. Działa w modelu żądanie–odpowiedź: przeglądarka prosi o zasób, serwer odsyła go razem z kodem statusu. Jest bezstanowy, czyli każde żądanie jest niezależne od poprzednich.
Problem HTTP polega na tym, że wszystko leci otwartym tekstem. Każdy, kto ma dostęp do sieci po drodze, może odczytać przesyłane treści – w tym hasła i numery kart.
HTTPS to ten sam HTTP, tylko opakowany w szyfrowanie SSL/TLS. Treść jest nieczytelna dla postronnych, a dodatkowo certyfikat serwera potwierdza, że rozmawiamy z tym, z kim myślimy. Dlatego przeglądarki oznaczają strony bez HTTPS jako niebezpieczne.
Nawiązanie połączenia HTTPS wygląda w skrócie tak:
Ciekawostka, która pomaga zrozumieć całość: sama transmisja jest szyfrowana symetrycznie, bo to szybkie. Szyfrowanie asymetryczne służy tylko do bezpiecznego ustalenia tego wspólnego klucza.
Najczęściej trzeba wskazać różnicę między HTTP a HTTPS oraz podać porty: 80 i 443. Pojawia się też pytanie o znaczenie kłódki w pasku adresu.
Warto uważać na jedną rzecz: kłódka oznacza, że połączenie jest szyfrowane, a nie że strona jest uczciwa. Strona wyłudzająca dane też może mieć certyfikat.
TLS jest nowszą i bezpieczniejszą wersją SSL. Nazwy używa się zamiennie, ale w praktyce wszędzie działa dziś TLS – samo SSL zostało wycofane jako podatne na ataki.
To statusy odpowiedzi HTTP. 200 znaczy, że żądanie się powiodło, a 404 – że serwer nie znalazł zasobu pod podanym adresem.
Ukrywa treść i konkretny adres podstrony, ale sama nazwa domeny jest zwykle widoczna dla dostawcy internetu. Szyfrowanie chroni zawartość, nie sam fakt połączenia.
Zagadnienia z tego samego obszaru matury – warto je powtórzyć razem: