HTTP/3 i QUIC: jak działa nowoczesny transport w sieci WWW
HTTP/3 to wersja HTTP, która zamiast znanego zestawu HTTP/2, TLS i TCP korzysta z QUIC. QUIC działa na UDP, ale dokłada niezawodne strumienie, kontrolę przeciążenia i bezpieczne nawiązywanie połączenia. Sama obsługa HTTP/3 nie sprawi jednak, że każda strona zacznie działać szybko.
Co się zmienia w porównaniu z HTTP/2
Metody takie jak GET i kody odpowiedzi znaczą to samo co wcześniej; zmienia się sposób przesyłania komunikatów. HTTP/2 multipleksuje strumienie w jednym połączeniu TCP, więc brak jednego segmentu TCP może na poziomie transportu wstrzymać dane z pozostałych strumieni. QUIC sam zarządza wieloma strumieniami, dlatego strata w jednym z nich nie blokuje w ten sposób pozostałych. Pomaga to w sieciach gubiących pakiety, ale nie zniweluje fizycznej odległości ani powolnego serwera.
QUIC wbudowuje zabezpieczenia oparte na TLS 1.3 bezpośrednio w proces nawiązywania połączenia. „Przez UDP” nie oznacza wysyłania treści strony otwartym tekstem: HTTP/3 korzysta z chronionego połączenia. Przy ponownych połączeniach część opóźnienia na start można czasem pominąć – zależy to od tego, co klient i serwer już o sobie wiedzą. Zysk zależy od implementacji i warunków w sieci, a nie jest stałym przyspieszeniem.
Port 443 i powrót do starszej wersji
HTTP/3 zwykle korzysta z portu UDP 443, a HTTPS z HTTP/2 – z portu TCP 443. Jeśli zapora sieciowa blokuje UDP, połączenie QUIC może się w ogóle nie zestawić. Klient może wtedy użyć innej obsługiwanej wersji HTTP przez TCP. Zablokowanie UDP 443 nie musi więc odciąć strony, choć może zmienić wydajność albo utrudnić diagnozę. Test portu TCP 443 nie potwierdza obsługi HTTP/3.
Narzędzia deweloperskie przeglądarki pokazują protokół użyty dla konkretnego żądania. Nie polegaj wyłącznie na liście funkcji od dostawcy hostingu: CDN, proxy odwrotne i zasoby osadzone na stronie mogą korzystać z różnych połączeń. Aby sprawdzić działającą stronę, wyślij żądanie klientem obsługującym HTTP/3 i zobacz, co zostało wynegocjowane. Zewnętrzny obraz strony da Ci narzędzie 2IP „Informacje o stronie”.
Kiedy to pomaga
HTTP/3 może pomóc, gdy pakiety giną albo urządzenie mobilne zmienia ścieżkę sieciową – o ile implementacje obsługują odpowiednie mechanizmy. Nie naprawi za to zbyt dużych obrazów, zbędnych skryptów ani wolnego kodu aplikacji. Mierz ładowanie strony i wrażenia użytkowników, a nie tylko nazwę protokołu. Szczegóły definiują specyfikacje HTTP/3 i QUIC. Artykuł o TCP i UDP wyjaśnia, jakie wybory transportowe stoją u podstaw.