Deweloperzy ostatnio którzy są w tyle Przeglądarka internetowa Google Chrome opublikowała wiadomość o dodaniu obsługi protokołu HTTP / 3 do eksperymentalnych wersji Chrome Canary, który implementuje wtyczkę umożliwiającą HTTP przez QUIC.
Sam protokół QUIC został dodany do przeglądarki pięć lat temu i od tego czasu służy do optymalizacji pracy z usługami Google. Jednocześnie wersja QUIC Google używana w Chrome różniła się niektórymi szczegółami od wersji specyfikacji IETF, ale teraz implementacje są zsynchronizowane.
Google Chrome Canary właśnie stała się pierwszą (dostępną) przeglądarką integrującą (bardzo) eksperymentalną #SZYBKO i obsługa HTTP / 3!
Dodaj flagi „–enable-quic –quic-version = h3-23” i powinieneś zobaczyć „http / 2 + quic / 99” pojawiające się w devtools, co w rzeczywistości jest http3 w przebraniu! pic.twitter.com/5Fhui46h3x
- Robin Marx (@programmingart) 19 września 2019 r.
Należy to podkreślić Firma Google opracowała QUIC (Szybkie połączenia internetowe UDP) od 2013 roku jako alternatywa dla pakietu TCP + TLS dla sieci, który rozwiązuje problemy z długimi czasami konfiguracji i negocjacji dla połączeń TCP oraz eliminuje opóźnienia w utracie pakietów podczas przesyłania danych.
QUIC jest uzupełnieniem protokołu UDP, który obsługuje multipleksowanie wielu połączeń i zapewnia metody szyfrowania równoważne TLS / SSL.
Omawiany protokół jest już wbudowany w infrastrukturę serwerową Google, jest częścią przeglądarki Chrome, jest planowany do włączenia do przeglądarki Firefox i jest aktywnie używany do obsługi żądań klientów na serwerach Google.
Wśród głównych cech QUIC, które się wyróżniają, są:
- Wysoki poziom bezpieczeństwa, podobny do TLS (w rzeczywistości QUIC zapewnia możliwość korzystania z TLS przez UDP)
- Kontrola integralności przepływu, która zapobiega utracie pakietów
- Możliwość natychmiastowego nawiązania połączenia (0-RTT, w około 75% przypadków dane mogą być przesłane natychmiast po wysłaniu pakietu konfiguracji połączenia) i zapewnia minimalne opóźnienia między wysłaniem żądania a otrzymaniem odpowiedzi (RTT, Round Trip Time)
- Nieużywanie tego samego numeru sekwencji podczas retransmisji pakietu, co pozwala uniknąć niejednoznaczności w określaniu odebranych pakietów i eliminuje czas oczekiwania
- Utrata pakietu wpływa na dostarczenie tylko związanego z nim strumienia i nie zatrzymuje dostarczania danych w strumieniach przesyłanych równolegle przez bieżące połączenie
- Narzędzia do korekcji błędów, które minimalizują opóźnienia spowodowane retransmisją utraconych pakietów.
- Zastosowanie specjalnych kodów korekcji błędów na poziomie pakietu w celu ograniczenia sytuacji, które wymagają retransmisji utraconych danych pakietowych.
- Granice bloków kryptograficznych są wyrównane z granicami pakietów QUIC, zmniejszając wpływ utraty pakietów na dekodowanie zawartości kolejnych pakietów
- Brak problemów z blokowaniem kolejki TCP
- Obsługa identyfikatora połączenia, co skraca czas nawiązywania ponownego połączenia dla klientów mobilnych
- Możliwość łączenia zaawansowanych mechanizmów kontrolujących przeciążenie połączenia
Podkreśla się również, że wykorzystuje technikę przewidywania przepustowości w każdym kierunku zapewnienie optymalnej intensywności dostarczania pakietów, zapobiegając osiągnięciu przez nie stanu przeciążenia, w którym obserwuje się utratę pakietów;
Jak również niezwykła wydajność i wzrost wydajności w porównaniu z TCP. W przypadku usług wideo, takich jak YouTube, QUIC wykazał 30% redukcję operacji ponownego buforowania podczas oglądania filmów.
Protokół HTTP / 3 standaryzuje użycie QUIC jako transportu dla HTTP / 2. Aby włączyć protokół HTTP / 3 i wersję QUIC 23 roboczych specyfikacji IETF, przeglądarkę Chrome należy uruchomić z opcjami „–enable-quic –quic-version = h3-23”, a po otwarciu witryny testowej quic .rocks: 4433 In tryb inspekcji sieci w narzędziach programistycznych aktywność HTTP / 3 będzie wyświetlana jako „http / 2 + quic / 99”.
W porównaniu z pakietem utraconym przez równoległe połączenia HTTP, tylko jedno z wielu połączeń zostanie zatrzymane, co oznacza, że QUIC może obsługiwać dostarczanie poza kolejnością, dzięki czemu utracony pakiet będzie miał mniejszy wpływ.
Si chcesz wiedzieć więcej na ten temat w tej sprawie możesz się skonsultować poniższy link.