HTTP/2
HTTP/2 to druga główna wersja protokołu HTTP, opublikowana w 2015 roku (RFC 7540) i oparta na wcześniejszym protokole SPDY firmy Google. Zachowuje tę samą semantykę co HTTP/1.1 — te same metody, kody statusu i nagłówki — ale całkowicie zmienia sposób przesyłania danych, aby przyspieszyć ładowanie nowoczesnych, złożonych stron internetowych.
Jak działa HTTP/2?
Kluczową nowością jest multipleksowanie — wiele żądań i odpowiedzi może być przesyłanych równolegle w ramach jednego połączenia TCP. W HTTP/1.1 przeglądarka musiała otwierać wiele osobnych połączeń i borykała się z blokowaniem czoła kolejki (head-of-line blocking), gdy jeden powolny zasób wstrzymywał kolejne. HTTP/2 rozwiązuje to na poziomie aplikacji. Pozostałe usprawnienia to:
- Kompresja nagłówków (HPACK) — redukuje powtarzalny narzut metadanych w każdym żądaniu.
- Priorytetyzacja strumieni — przeglądarka wskazuje, które zasoby są ważniejsze.
- Format binarny — dane dzielone są na ramki, co jest wydajniejsze i mniej podatne na błędy niż tekstowy HTTP/1.1.
Efektem jest szybsze renderowanie strony i niższy czas TTFB, co bezpośrednio przekłada się na lepsze wyniki Core Web Vitals.
Zastosowanie w praktyce
HTTP/2 jest dziś powszechnie obsługiwany przez serwery Apache, Nginx i LiteSpeed oraz sieci CDN, a jego włączenie zwykle sprowadza się do konfiguracji serwera i posiadania certyfikatu HTTPS. Ponieważ multipleksowanie eliminuje koszt wielu połączeń, dawne techniki optymalizacji z ery HTTP/1.1 — łączenie plików CSS/JS czy dzielenie zasobów na wiele domen — tracą sens lub bywają przeciwskuteczne. Kolejnym krokiem ewolucji jest HTTP/3, który przenosi transport z TCP na protokół QUIC.
Warto jednak pamiętać o ograniczeniu: multipleksowanie HTTP/2 działa na poziomie aplikacji, ale nadal opiera się na pojedynczym połączeniu TCP. Utrata jednego pakietu wstrzymuje wtedy dostarczanie danych we wszystkich strumieniach — to tzw. blokowanie czoła kolejki na poziomie transportu. Problem ten w sieciach o wysokiej stratności pakietów rozwiązuje dopiero HTTP/3, co czyni obie wersje komplementarnymi w drodze do coraz szybszej sieci.
Powiązane pojęcia
Najczęstsze pytania
Czy HTTP/2 wymaga certyfikatu SSL?
Formalnie specyfikacja dopuszcza HTTP/2 bez szyfrowania, ale w praktyce wszystkie przeglądarki obsługują go wyłącznie przez HTTPS. W efekcie, aby skorzystać z HTTP/2, witryna musi mieć ważny certyfikat TLS — co dziś jest i tak standardem.
Czy trzeba zmieniać kod strony, by włączyć HTTP/2?
Nie. HTTP/2 działa na poziomie transportu i jest przezroczysty dla aplikacji — wystarczy, że obsługuje go serwer WWW. Warto jednak zrewidować dawne optymalizacje z czasów HTTP/1.1, jak łączenie plików czy domain sharding, ponieważ przy multipleksowaniu bywają one zbędne lub wręcz szkodliwe.
