🍪 Można ciasteczko?

Ta strona chce wykorzystywać pliki cookie do analizowania ruchu oraz mierzenia skuteczności i personalizacji reklam zgodnie z polityką prywatności. Zgadzasz się?

PORADNIKI

6 min. czytania

HTTP/2

Serwery

Fot. Freepik

HTTP/2: Co to jest? Jak działa? Jak wpływa na szybsze ładowanie stron WWW? Czy warto wybrać hosting z HTTP/2? Jak sprawdzić czy działa? A może HTTP/3?

Spis treści
Serwer

HTTP jest elementem adresu strony internetowej. Nie musisz go jednak używać, żeby wejść na daną witrynę. Wystarczy, że podasz nazwę domeny w formie adresserwisu.pl. Protokół HTTP jest jednym z tych elementów, dzięki którym internet w takiej postaci, w jakiej go znasz, zaczął w ogóle funkcjonować. A czym jest HTTP/2? Czy wersja obsługiwanego przez hosting protokołu ma wpływ na działanie Twojej strony?

HTTP – tak wszystko się zaczęło

HTTP to skrót od angielskiego Hypertext Transfer Protocol. Protokół ten to zasady wymiany informacji i współpracy programów, którymi są serwery i klienci. Klient wysyła żądanie do serwera, który na nie odpowiada. Dobrym przykładem klienta jest przeglądarka internetowa. Kiedy chcesz wejść na daną stronę WWW, to wpisujesz jej adres w przeglądarce. Następnie ta aplikacja wysyła żądanie i wyświetla serwis internetowy, który został przez serwer wysłany. Oczywiście tym żądaniem nie musi być cała witryna. Równie dobrze może ono dotyczyć pliku graficznego czy innego. 

Zobacz: Co to jest protokół HTTP i jak działa?

Na początku adresów stron WWW możesz spotkać się z HTTP lub z HTTPS. To drugie rozwiązanie jest rozszerzeniem pierwszego. Korzystają z niego strony, które szyfrują dane przesyłane pomiędzy serwerem a urządzeniem użytkownika, który odwiedza dany serwis WWW. Nietrudno zauważyć, która strona nie ma certyfikatu SSL, gdyż przeglądarki wyraźnie to podkreślają. Np. Chrome wyświetla przy adresie takiej witryny następujący komunikat:

Strona niezabezpieczona - oznaczenie w Chrome
Strona niezabezpieczona – oznaczenie w Chrome

Z tego rozwiązania korzystają banki, sklepy, instytucje rządowe, ale tak naprawdę jest ono zalecane w przypadku każdej strony, gdyż zwiększa bezpieczeństwo użytkowników. W dodatku – można go stosować całkowicie za darmo, ale są też dostępne płatne SSL-e.

Zobacz: Co to jest protokół HTTPS i jak działa?

Historia protokołu HTTP rozpoczyna się w 1991 roku. Wtedy powstało HTTP/0.9. Kolejnym było  HTTP/1.0, w ramach którego podczas jednego połączenia można było realizować wyłącznie jedno żądanie. Wówczas było to wystarczające, gdyż strony WWW były bardzo proste, najczęściej składały się wyłącznie z tekstu. Kiedy jednak zaczęły się one rozwijać, pojawiła się grafika czy skrypty JS, konieczne było wprowadzenie zmian, których efektem był protokół HTTP/1.1. W tym przypadku możliwe było już realizowanie wielu żądań jednocześnie. Tzn. przeglądarka nie musiała nawiązywać kolejnego połączenia, żeby pobrać pojedynczy plik. Ważna zmiana polegała na tym, że na stronach wszystkie elementy mogły się ładować w tym samym czasie. W przypadku HTTP/1.0 nie było to możliwe. 

Długo musieliśmy czekać na pojawienie się HTTP/2, gdyż wszedł on do użytku w 2015 roku. Zatem jest on dostępny już dosyć długo, ale mimo to nie wszystkie firmy hostingowe go wspierają. Nowy protokół umożliwia wykonywanie wielu zapytań do serwera jednocześnie, dlatego przeglądarce wystarczy tylko jedno połączenie, żeby wczytać stronę. W przypadku HTTP/1.1 te zapytania były wysyłane co chwilę i powodowały duże obciążenie serwera.

Żeby ocenić, jakie są różnice w szybkości ładowania się strony, w zależności od tego, czy  zastosowano HTTP/1.1 czy HTTP/2, zrób test. Kliknij tutaj i sprawdź wyniki:

Wynik testu HTTP/2 kontra HTTP 1.1
Wynik testu HTTP/2 kontra HTTP 1.1 – http2demo.io

Jak widzisz, obrazek wczytał się ponad 3 razy szybciej przy HTTP/2. Zapewne Twój wynik jest podobny. Może być tak, że Twoja przeglądarka nie obsługuje HTTP/2, jeśli bardzo długo jej nie aktualizowałeś. W takim przypadku witryna się normalnie otworzy, ale za pomocą poprzedniej wersji protokołu.

Wspominałem o certyfikatach SSL. Czy HTTP/2 wymaga szyfrowanego połączenia? W dokumentacji nie znajdziesz takiego wymogu, w praktyce jednak uruchomienie strony przez HTTPS jest niezbędne, żebyś mógł korzystać ze wszystkich dobrodziejstw tego protokołu. 

Do największych plusów HTTP/2 należy zaliczyć:

  • Odciążenie serwera, czyli możliwość obsłużenia większej liczby użytkowników. Przy poprzedniej wersji protokołu każde odwiedziny Twojej strony wymagały wykorzystania większej ilości zasobów. Dlatego hosting z HTTP/2 przy zachowaniu pozostałych parametrów na tym samym poziomie da możliwość korzystania z usługi większej liczbie użytkowników. Zob. Optymalizacja strony internetowej
  • Równoległe pobieranie danych bez kolejkowania. Kilka zasobów może być jednocześnie wysyłanych do przeglądarki, co skraca czas ładowania się strony. 
  • Możliwość przesyłania zasobów przeglądarce, zanim ta o to poprosi (mechanizm PUSH). Serwer, od razu wysyłając plik index.html, może wysłać też niezbędne pliki CSS czy JavaScript. Efekt? Skoro przeglądarka nie musi o nie prosić, to jednocześnie zmniejsza się liczba żądań wysyłanych do serwera, co powoduje mniejsze jego obciążenie. Jednocześnie, brak kolejnych zapytań i oczekiwania na odpowiedź sprawia, że Twoja strona ładuje się szybciej. 
  • Dzięki HTTP/2 serwer potrafi nadawać ważnym zasobom wyższy priorytet, co jest kolejnym elementem przekładającym się na szybsze ładowanie się strony.
  • Wprowadzenie poleceń binarnych zamiast wysyłanych jako TEXT. Dzięki temu ograniczone jest ryzyko błędów, a takie polecenia są również łatwiejsze do zrozumienia przez serwer. Dzięki temu również zyskujesz czas – strona szybciej załaduje się użytkownikowi. 
HTTP 1.1 vs HTTP/2
HTTP 1.1 vs HTTP/2

W sieci możesz znaleźć opinie, iż korzystanie z protokołu HTTP/2 może się wiązać z problemami z robotami indeksującymi, ale na dziś nie jest to prawda – Googlebot (czyli robot indeksujący Google) korzysta z protokołu HTTP/2. Dla pewności wyłączaj jednak w najbliższej przyszłości obsługi HTTP/1.x. Dzięki temu strona prawidłowo wyświetli się również użytkownikom starszych wersji przeglądarek, a problemów z nią nie będą mieć również wszystkie roboty. 

Jak sprawdzić, czy hosting obsługuje HTTP/2?

Jeśli szukasz hostingu, to powinieneś od niego wymagać obsługi HTTP/2. Niestety, ale nie każda oferta to gwarantuje. Jak możesz sprawdzić, czy hosting obsługuje HTTP/2? Skorzystaj z narzędzia, które jest dostępne tutaj. Podaj adres strony, która znajduje się na danym serwerze i sprawdź wynik:

Wynik sprawdzania, czy strona / hosting obsługuje HTTP/2
Wynik sprawdzania, czy strona / hosting obsługuje HTTP/2 – keycdn.com

Oczywiście możesz też po prostu zapytać o to support. 

A może HTTP/3?

Niedługo później po HTTP/2 pojawił się protokół QUIC, na którym bazuje HTTP/3. Pierwszy polski hostingodawca wprowadził u siebie to rozwiązanie w 2017 roku. Poprzednie wersje tego protokołu opierały się na TCP, a najnowsza wykorzystuje protokół transportowy UDP. Nowe rozwiązanie przede wszystkim wyeliminowało wiele błędów odnalezionych we wcześniejszych wersjach. Największe zalety tego protokołu to:

  • krótszy czas nawiązywania połączeń,
  • lepsze szyfrowanie i uwierzytelnianie,
  • dokładniejsza transmisja danych,
  • uwzględnienie migracji połączeń.
Działanie HTTP/3
Działanie HTTP/3 – laptrinhx.com

Na rozpowszechnienie się HTTP/3 przyjdzie nam jeszcze długo poczekać, ale już dziś możesz szukać hostingu, który wspiera protokół HTTP/3. Pamiętaj o tym, żeby Twój hosting obsługiwał co najmniej HTTP/2. To naprawdę bardzo ważne dla szybkości działania Twojej strony.