HTTP/2 a HTTP/3: co się zmienia w warstwie transportowej
HTTP/2 multipleksuje strumienie HTTP w jednym połączeniu TCP, a HTTP/3 przenosi semantykę HTTP na QUIC działający na UDP. QUIC zapewnia niezależne strumienie i ma wbudowany TLS 1.3, co zmienia sposób odzyskiwania utraconych pakietów i nawiązywania połączeń – metody HTTP i kody statusu pozostają bez zmian.
Co się zmienia między HTTP/2 a HTTP/3
HTTP/2 działa na TCP, a HTTP/3 przenosi semantykę HTTP przez QUIC, który korzysta z UDP. Utrata pakietu w jednym strumieniu QUIC nie musi więc wstrzymywać danych w pozostałych strumieniach – inaczej niż w HTTP/2, gdzie zgubiony pakiet TCP może opóźnić wiele strumieni współdzielących jedno połączenie.
Jak sprawdzić, który protokół jest używany
Otwórz narzędzia deweloperskie przeglądarki i sprawdź protokół użyty dla żądania: h2 oznacza HTTP/2, a h3 – HTTP/3. Jeśli h3 się nie pojawia, sprawdź obsługę po stronie przeglądarki i serwera, UDP/443 oraz nagłówek Alt-Svc. Gdy HTTP/3 jest niedostępne, strona powinna normalnie przejść na HTTP/2. Aby spojrzeć na stronę z zewnątrz, uzupełnij diagnostykę w przeglądarce o narzędzie 2IP „Informacje o stronie”.
Gdy HTTP/3 jest niedostępne
HTTP/2 opisuje RFC 9113, a HTTP/3 – RFC 9114.