HTTP i HTTPS – podobieństwa i różnice

Aktualizacja: 6 minut czytania
HTTP czy HTTPS?

Sposób przesyłania danych między przeglądarką internetową a serwerem odbywa się za pomocą protokołu HTTP/HTTPS. To niezwykle ważne protokoły, które wpływają na szereg ważnych aspektów dotyczących strony internetowej: bezpieczeństwo, zaufanie użytkowników, a nawet pozycjonowanie. Zobacz, czym różni się protokół HTTPS od HTTP i dlaczego jedna z tych opcji zapewnia wyższy poziom bezpieczeństwa!

Co to jest HTTP?

Protokół HTTP (ang. Hypertext Transfer Protocol) to protokół przesyłania dokumentów hipertekstowych, który odpowiada komunikację danych między serwerem strony internetowej a przeglądarką internetową. Główne zadanie protokołu to przetwarzania żądań kierowanych do serwera związanych z udostępnianiem zawartości WWW. Historycznie pierwszy protokół HTTP powstał w 1991 roku. Od tego czasu standard HTTP był wielokrotnie zmieniany, a najnowsza definicja HTTP to RFC 2616. 

Sposób działania protokołu HTTP jest bardzo prosty. Element ten nie odpowiada za zaawansowaną komunikację z innymi podzespołami lub standardami, nie zapamiętuje też danych z poprzednich sesji. HTTP służy do dostarczenia informacji żądania  o dostępie do danych do konkretnego serwera. Bez protokołu HTTP przeglądanie stron internetowych byłoby niemożliwe, ponieważ nie zachodziłaby komunikacja do serwera wywołana przez żądanie użytkownika. 

Ten protokół nie szyfruje danych przesyłanych pomiędzy przeglądarką użytkownika, a serwerem. Są one przesyłane jawnie, czystym tekstem. Co powoduje, że HTTP uchodzi powszechnie za protokół mało bezpieczny, gdyż cała komunikacja za jego pomocą może zostać przechwycona.

Co to jest HTTPS?

HTTPS to nowszy protokół komunikacji względem HTTP i jednocześnie wariant, który całkowicie wypiera swojego odpowiednika. Aby najpełniej zrozumieć, co to jest HTTPS, wystarczy szybko rozszyfrować skrót: Hypertext Transfer Protocol Secure. HTTPS to ten sam protokół, co HTTP, jednak w wersji zabezpieczonej (Secure).

Przekazywane dane pomiędzy serwerem a przeglądarką są dodatkowo chronione, co ogranicza ryzyko nieautoryzowanego dostępu i ingerencji zewnętrznej. Od strony technicznej bezpieczny protokół HTTPS domyślnie funkcjonuje na porcie nr 443 w protokole TCP. Architektura przekazu informacji klient-serwer jest zaszyfrowana w przeciwieństwie do nieszyfrowanego połączenia komunikacyjnego HTTP. 

HTTPS początkowo został zaimplementowany przez szereg instytucji finansowych i strony państwowe. Coraz szybciej jednak zaczął być wprowadzane także przez różne sklepy internetowe, portale informacyjne i rozrywkowe oraz witryny osobiste. 

Różnice między HTTP a HTTPS

Różnice między HTTP a HTTPS dotyczą mechanizmu przekazywania informacji od strony klienta do serwera. Jak wspomnieliśmy, protokół HTTPS jest szyfrowany: w tym celu używa się protokołu SSL (lub wyższego standardu TLS). Ten zaś znajduje się w warstwie prezentacji, a więc płaszczyznę wyżej względem poziomu komunikacji protokołu HTTP. HTTP różni się od HTTPS również innym domyślnym portem. W przypadku starszego protokołu HTTP jest to port 80, natomiast protokół bezpieczny HTTPS wykorzystuje port 443. 

Zabezpieczenie SSL połączenia klient-serwer na stronie powoduje, że przekazywane dane są bezużyteczne. Nawet przechwycone nie mogą być poprawnie odczytane przez osoby nieuprawnione. Z kolei certyfikat TLS, zabezpieczenie wyższego poziomu, powoduje integralność danych i ich uwierzytelnienie.

Stronę internetową, która ma zaimplementowany poprawnie protokół HTTPS, z łatwością można odróżnić od niezabezpieczonej witryny. Różnicę zobaczymy między innymi w ścieżce adresu: http:// lub https://. Od dawna jednak wszystkie najpopularniejsze przeglądarki internetowe posiadają znaczniki, które informują odbiorców o tym, czy połączenie na stronie jest bezpieczne. Może to być symbol zielonej kłódki lub – jak w przypadku np. Google Chrome – szarej, zamkniętej kłódki, znajdujący się po lewej stronie paska adresu strony www.  

HTTPS zapewnia szyfrowanie
HTTPS zapewnia szyfrowanie

Dlaczego warto się łączyć ze stroną przez HTTPS?

Z protokołu HTTPS należy korzystać ze względu na większe bezpieczeństwo, jakie zapewnia. Stosowanie wersji HTTPS, w przeciwieństwie do starszego protokołu HTTP, obniża podatność na ataki i zwiększa ogólny poziom bezpieczeństwa podczas przesyłania danych za pomocą formularzy na stronach internetowych. HTTPS sprawia również, że strona przechodzi pomyślnie różnego rodzaju testy i jest lepiej oceniana przez roboty crawlujące. 

HTTPS powoduje, że transmisja danych jest zaszyfrowana. I nie jest możliwe podejrzenie haseł i innych poufnych informacji, które są przesyłane np. przez formularze na stronie internetowej. Jest to bardzo istotne np. podczas korzystania z takich sieci, co do których nie mamy zaufania. Jak np. publicznie dostępnych WiFi, których operator może zapisywać wszystkie dane, które przesyłają użytkownicy. A szyfrowanie przed tym chroni. Podobną ochronę dzięki szyfrowaniu daje VPN, z tym że ta technologia szyfruje całą komunikację wychodzącą i przychodzącą z urządzenia, na którym jest uruchomiony, a nie wyłącznie komunikację ze stronami internetowymi.

Domyślny protokół HTTPS używany jest już przez prawie 80% stron internetowych i staje się coraz bardziej popularny. Z pewnością wpływa na to fakt, że strony, które wciąż działają na protokole HTTP, są po prostu bardziej narażone na potencjalne ataki. Z drugiej strony właściciele stron internetowych i sklepów nie mogą narzekać na brak presji odgórnej, między innymi pochodzącej z Google, które bardzo nieprzychylnie patrzy na witryny pozbawione bezpiecznego protokołu komunikacji.

Czy korzystanie z HTTPS daje pełne bezpieczeństwo?

Zaimplementowany protokół HTTPS gwarantuje szyfrowany przepływ danych do i z serwera, ale nie zapewnia całkowitego bezpieczeństwa. Oznacza to jedynie, że dane nie mogą być odczytane przez osoby trzecie. Jednak istnieje możliwość, że dostęp do strony został przejęty. Sama obecność zielonej kłódki nie jest w stanie powiedzieć nam, kto ma dostęp do bazy danych i hostingu, ani w jaki sposób wykorzystywana jest obecnie witryna. Regularnie zdarzają się wycieki danych nawet z największych serwisów internetowych.

Chociaż wyszukiwarka Google coraz lepiej radzi sobie z identyfikowaniem witryn, które narażają użytkowników na różne niebezpieczeństwa, zagadnienie to nie dotyczy protokołu HTTPS. Strona potencjalnie zawierająca malware może zarówno posiadać szyfrowane połączenie z serwerem, jak i nie być w nie wyposażona. Według danych PhishLabs za 2020 rok za pośrednictwem stron z HTTPS przeprowadza się ponad 70% wszystkich ataków phishingowych. Warto dodać, że tylko dwa lata wcześniej, w 2018 roku, odsetek ten był ponad dwukrotnie niższy (30%). 

Powyższe informacje nie oznaczają, że nie należy wprowadzać certyfikatu SSL / TSL. Trzeba jednak pamiętać o holistycznym podejściu i pozostałych zabezpieczeniach strony internetowej oraz danych dostępu. 

Https podnosi bezpieczeństwo strony
HTTPS podnosi bezpieczeństwo strony

Jak wdrożyć HTTPS na swojej stronie? 

Współcześnie trudno jest pozostać przy protokole HTTP – i właściwie próżno byłoby znaleźć ku temu jakikolwiek racjonalny powód. Zabezpieczenie bazowym certyfikatem SSL jest tak powszechne, że również wielu hostingodawców oferuje możliwość darmowego uruchomienia HTTPS na swojej stronie. Opcji jest wiele jak np. bezpłatny Let’s Encrypt.

Również korzystając z wielu popularnych rozwiązań CDN, oprócz optymalizacji i przyśpieszenia strony chronią również przed atakami DDoS można wdrożyć i zaimplementować protokół HTTPS na stronie internetowej. Przykładem może być tutaj usługa od CloudFlare, który oferuje darmowe wdrożenie HTTPS na stronach chronionych przez ich usługę.

Można również skorzystać z rozwiązań komercyjnych. Istnieje wiele firm, które wydają certyfikaty SSL niezbędne do prawidłowej implementacji i uruchomienia protokołu HTTPS na stronie internetowej. Zapewniają większą weryfikowalność i bezpieczeństwo danych i są niezbędne tam, gdzie dane przesyłane przez użytkowników są bardzo poufne. Jako przykład może tutaj podać bankowość i sektor finansów oraz dane medyczne. Ale również sklepy internetowe używają powszechnie płatnych certyfikatów SSL do zabezpieczenia transmisji danych.