Co to jest HTTP/2? Jak działa protokół? Różnice, wyniki, obsługiwane przeglądarki. Jak sprawdzić?

HTTP/2 to rozwiązanie służące do wymiany informacji pomiędzy przeglądarką internetową a serwerem. Jest to wyjątkowo uniwersalne rozwiązanie, wykorzystywane przede wszystkim do tego, aby sprawnie wyświetlać strony internetowe. Protokół HTTP/2 w porównaniu ze swoi poprzednikiem HTTP/1.1 pozwala na szybsze ładowanie stron internetowych, wysyłanie wielu zapytań jednocześnie pomiędzy klientem a serwerem oraz rozwiązuje wiele problemów i dodaje nowe funkcjonalności.

Słowo wstępu — o co chodzi z tym HTTP?

Protokoły HTTP (Hypertext Transfer Protocol) niezależnie od wersji służą do komunikacji pomiędzy klientem, najczęściej przeglądarką internetową, a serwerem. Określa on zasady przesyłania zasobów, czyli tego, w jaki sposób dane są odczytywane, przetwarzane i udostępniane przez serwer. Bez protokołów HTTP nie mógłby istnieć Internet, jaki znamy. To w dużej mierze dzięki temu rozwiązaniu możemy korzystać z sieci i wyświetlać strony internetowe.

Aby strona internetowa mogła korzystać z danej wersji protokołu HTTP, musi ona zostać wdrożona zarówno przez przeglądarkę, jak i serwer. Przeglądarki to np. Chrome, Mozilla Firefox lub Safari i służą do surfowania po Internecie. Autorzy tych przeglądarek są odpowiedzialni za wdrożenie tego rozwiązania po swojej stronie. Jednak po drugiej stronie stoją firmy hostingowe, które również muszą wprowadzić zmiany. Zmiany wdrażane są na serwerach, aby strony, na których są utrzymywane, mogły współgrać komunikacyjnie z przeglądarkami użytkowników sieci. Tylko jeżeli serwer i przeglądarka obsługują daną wersję protokołu HTTP, to będą mogły korzystać z tego rodzaju komunikacji między sobą.

Ile istnieje wersji protokołu HTTP?

Wersji protokołu HTTP istnieje przynajmniej kilka, niemniej aktualnie wykorzystuje się przede wszystkim trzy z nich. Pierwszą omawianą wersją jest protokół HTTP/1.1 stworzony w 1997 roku. Choć jest to już przestarzałe rozwiązanie, to niektóre stron wciąż wykorzystują go do komunikacji.

Drugą wersją protokołu jest HTTP/2, który został opracowany  w 2015 roku przez firmę Google. Jest następną wersji HTTP/1.1 i jest aktualnie najczęściej wykorzystywanym rozwiązaniem komunikacyjnym w sieci web. To właśnie tę wersję omawiamy w tym artykule.

Trzecią i póki co ostatnią wersją protokołu jest HTTP/3. Została ona stworzona w 2018 roku, również przez Google. Jest to najnowsze i najszybciej działające rozwiązanie komunikacyjne, jednak wciąż nie jest powszechnie dostępne przede wszystkim ze względu na opieszałość w jego wdrażaniu przez firmy hostingowe. 

W jaki sposób działa HTTP/2?

Technologia HTTP/2 wykorzystuje protokół SPDY (czytany jak angielskie słowo „speedy”). Protokół ten został stworzony przez firmę Google, a jego zadaniem jest transmitowanie treści w sieci. Dziś jest już uważany za przestarzały model komunikacji, jednak wciąż jest wykorzystywany.

Protokół HTTP/2 został stworzony po to, aby dokonać kluczowych aktualizacji wersji HTTP/1.1 i poprawić szybkość ładowania stron w Internecie. HTTP/2 pozwala na priorytetowe pobieranie elementów stron, zaczynając od tych najważniejszych oraz jednoczesne pobieranie kilku elementów. Jest to ogromną różnicą w stosunku do HTTP/1.1, gdzie wszystkie wysyłane żądania są kolejkowane, a elementy strony pobierane niezależnie od ich istotności. 

Jaki są główne różnice pomiędzy HTTP/1.1 a HTTP/2?

Protokół HTTP/1.1 działa w ten sposób, że musi on wielokrotnie ponawiać połączenie pomiędzy przeglądarką a serwerem hostującym stronę. Dodatkowe wysyłanie zapytań o kolejne zasoby powoduje obciążenie połączenia, wpływając na spowolnienie ładowania treści danej strony internetowej. 

Tymczasem protokół HTTP/2 tworzy jedno, trwałe połączenie pomiędzy przeglądarką a serwerem. Trwa ono od momentu połączenia aż do wyłączenia witryny w przeglądarce (zakończenia jej przeglądania przez użytkownika). Dzięki temu połączenie jest stabilniejsze, a protokół nie musi ponawiać zapytań. Protokół HTTP/2 w porównaniu z rozwiązaniem HTTP/1.1 pozwala na lepsze i szybsze działanie stron WWW.

HTTP/1.1 komunikuje się z przeglądarkami za pomocą poleceń w formie tekstowej, tj. TEXT. Nie jest to wydajna forma komunikacji, ponieważ zwiększa ona czas potrzebny serwerowi na przetłumaczenie sygnału na język maszynowy, czyli binarny, zero-jedynkowy. W przypadku protokołu HTTP/2 polecania wysyłane są tylko językiem binarnym, co nie dość, że skraca czas realizacji połączeń, to również likwiduje ryzyko występowania błędów wynikających z tłumaczenia komunikatów.

HTTP/2 przyspiesza ładowanie stron internetowych

Szybkość ładowania strony jest bardzo ważnym czynnikiem wpływającym na odczucia użytkownika. Zazwyczaj strony, które długo się ładują, są często porzucane przez internautów — wzrasta dla nich indeks odrzuceń strony. Jednak to, na czym zależy każdemu właścicielowi witryny to, żeby użytkownicy chętnie i długo z niej korzystali oraz aby strona konwertowała. 

Implementacja protokołu HTTP/2 na swojej stronie (jeżeli wciąż korzysta z protokołu HTTP/1.1) może pomóc w prowadzeniu biznesu poprzez szybsze ładowanie strony. Szybciej ładująca się strona jest dużo bardziej „user friendly”, przez co Internauci chętniej z niej korzystają.

Przeglądarki obsługujące HTTP/2

HTTP/2 jest obsługiwany przez najpopularniejsze przeglądarki internetowe. Należą do nich m.in.:

  • Chrome,
  • Safari,
  • Mozilla Firefox,
  • Opera,
  • MS Edge,
  • Internet Explorer.

Należy jednak pamiętać o kilku wyjątkach. Przeglądarki Chrome, Opera i Firefox obsługują protokół HTTP/2 tylko na stronach z aktywnym certyfikatem SSL, a Internet Explorer wymaga systemu Windows 10.

Mechanizm Server Push wpływa na przepustowość serwera 

Protokół HTTP/2 posiada specjalny mechanizm nazywany Server Push. Jest to technika, która działa pomiędzy serwerem i klientem w momencie, gdy jeden i drugi jest zgodny z protokołem HTTP/2. Pozwala ona na przekazanie przez serwer zasobów, zanim klient o nie w ogóle poprosi. 

Przykładowo, gdy użytkownik odwiedza jakąkolwiek stronę główną, to jego przeglądarka (klient) wysyła żądanie do serwera o udostępnienie zasobu index.html. Serwer przesyłając zasób, dzięki technice Server Push, wie, że przeglądarka będzie również potrzebowała zasobu styles.css (informacji o grafice strony). I, pomimo że przeglądarka jeszcze nie wysłała żądania o jego przesłanie, to serwer może od razu go udostępnić. 

Dzięki temu mechanizmowi serwer może szybciej obsługiwać klientów i ładować treści, szczególnie w sytuacji, gdy dany serwer jest oblegany. Bez mechanizmu Server Push dochodziłoby do niepotrzebnego zajmowania przepustowości — klient za każdym razem musiałby wysyłać żądanie o przesłanie treści, a w tym wypadku, otrzymuje je szybciej, co odciąża serwer. 

Czy HTTP/2 wymaga certyfikatu SSL?

Jeżeli chcesz korzystać ze wszystkich funkcjonalności protokołu HTTP/2 lub jego nowszej wersji HTTP/3, musisz zainstalować na hostingu certyfikat SSL. Nie jest to wymagane, jednak bez niego strona nie będzie działać tak dobrze jak mogłaby, a ponadto niektóre przeglądarki internetowe nie obsługują HTTP/2 bez SSL-a.

Certyfikat SSL służy do zabezpieczania połączeń sieciowych poprzez szyfrowanie danych. Jest szczególnie potrzebny, gdy poprzez stronę internetową dokonywane są jakiekolwiek płatności lub przesyłane są dane z formularzy kontaktowych. 

Być może nawet już masz certyfikat na swojej stronie. Jeśli nie jesteś pewny, wpisz adres swojej strony WWW w pasek przeglądarki internetowej. Jeżeli przed adresem domeny pojawi się skrót „https”, to znaczy, że strona jest chroniona certyfikatem SSL, jeśli jednak widnieć będzie skrót „http”, strona nie posiada certyfikatu. 

W niektórych przypadkach bez certyfikatu SSL możesz korzystać z protokołu HTTP/2, jednak niezależnie od wykorzystywanej wersji zachęcamy do jego instalacji. To podstawowe zabezpieczenie dla każdej witryny, a możesz je mieć nawet za darmo. Jeśli chcesz dowiedzieć się więcej o certyfikatach SSL, zapraszamy do lektury naszego artykułu: Wszystko o certyfikatach SSL [FAQ].

Czy protokół HTTP/2 ma wpływ na pozycjonowanie strony?

Wykorzystywanie rodzaju protokołu HTTP ma znaczenie dla pozycjonowania strony. Wyszukiwarka Google uwzględnia prędkość ładowania witryny jako jeden z czynników rankingowych. Tym samym im Twoja strona WWW ładuje się szybciej, tym zyskuje lepszą ocenę od robotów Google. 

Jeżeli Twoja strona wciąż wykorzystuje protokół HTTP/1.1 to obsługuje ją ponad 20-letnie rozwiązanie. Dlatego aktualizacja protokołu do nowszej i lepiej zabezpieczonej wersji HTTP/2 lub od razu do najnowszej wersji HTTP/3 pozytywnie wpłynie na prędkość ładowania Twojej strony internetowej.

Jednocześnie, jako że przed wdrożeniem HTTP/2 najlepiej jest zainstalować certyfikat SSL, to strona może zyskać dodatkowy, pozytywny czynnik rankingowy — Google wyżej ocenia strony, które są chronione tego rodzaju zabezpieczeniem. 

Czy moja strona może korzystać z HTTP/2?

Jak wspomnieliśmy, wdrażanie nowocześniejszych protokołów HTTP/2 oraz HTTP/3 jest spowalniane przez firmy hostingowe, które często nie spieszą się z wprowadzaniem zmian na swoich serwerach. Takie sytuacje pojawiają się na darmowych hostingach, bardzo tanich lub w niszowych firmach hostingowych.

Niemniej protokół HTTP/2 jest rozpowszechnionym rozwiązaniem, które zostało zaimplementowane na wszystkich popularnych przeglądarkach oraz u zdecydowanej większości szanujących się hostingodawców.

Aby sprawdzić, czy Twoja strona internetowa może korzystać z HTTP/2 wpisz pełny adres domeny w tym bezpłatnym narzędziu. Jeśli test okaże się pozytywny, to śmiało możesz wdrożyć nowszy rodzaj protokołu na swojej witrynie. Jeśli nie, skieruj się z zapytaniem o uruchomienie protokołu HTTP/2 do swojego operatora hostingu.

Wybrać HTTP/2 czy HTTP/3?

Jeżeli masz taką możliwość, zaktualizuj swoją stronę od razu do HTTP/3. Jednak możesz nie mieć takiej możliwości. O ile przeglądarkę internetową możesz zmienić w kilka minut, to jeśli Twój hosting nie obsługuje HTTP/3, to problem jest trochę bardziej skomplikowany. W takim wypadku możesz wdrożyć HTTP/2 lub pomyśleć o zmianie dostawcy usług hostingowych.

Więcej o protokole HTTP/3 i jego korzyściach dla strony internetowej przeczytasz w naszym artykule: Co to jest potokół HTTP/3?