Wieczorne kompilacje przeglądarki Firefox obsługują teraz protokół HTTP/3

В nocne budowanie Firefox, которые лягут в основу выпуска Firefox 72, запланированного на 7 января, dodany поддержка протокола HTTP/3. По умолчанию HTTP/3 отключён и требует активации опции «network.http.http3.enabled» в about:config.

Поддержка HTTP/3 в Firefox основана на развиваемом компанией Mozilla проекте neko, предоставляющем реализацию клиента и сервера для протокола QUIC. Код компонентов для поддержки HTTP/3 и QUIC написан на языке Rust.
Из клиентского ПО экспериментальная поддержка HTTP/3 также уже dodany в Chrome и curl, а для серверов доступна в форме модуля для nginx и тестового сервера на базе библиотеки quiche (wdrożenie QUIC и HTTP/3 на языке Rust от компании Cloudflare). Для проверки работы клиентов HTTP/3 uruchomiona несколько тестовых сайтов, большая часть из которых пока корректно не открывается в Firefox (HTTP/3 находится на стадии черновой спецификации и окончательно не стандартизирован).

Przypomnijmy, że HTTP/3 standaryzuje użycie protokołu QUIC jako środka transportu dla HTTP/2. Protokół QUIC (Szybkie połączenia internetowe UDP) są rozwijane przez Google od 2013 roku jako alternatywa dla kombinacji TCP+TLS w Internecie, rozwiązując problemy związane z długim czasem konfiguracji i negocjacji połączeń w protokole TCP oraz eliminując opóźnienia w przypadku utraty pakietów podczas przesyłania danych. QUIC jest rozszerzeniem protokołu UDP, które obsługuje multipleksowanie wielu połączeń i zapewnia metody szyfrowania równoważne TLS/SSL.

Głównym Cechy SZYBKO:

  • Wysokie bezpieczeństwo podobne do TLS (zasadniczo QUIC zapewnia możliwość korzystania z TLS przez UDP);
  • Kontrola integralności przepływu, zapobiegająca utracie pakietów;
  • Możliwość błyskawicznego nawiązania połączenia (0-RTT, w około 75% przypadków dane mogą zostać przesłane natychmiast po wysłaniu pakietu konfigurującego połączenie) i zapewnienia minimalnych opóźnień pomiędzy wysłaniem żądania a otrzymaniem odpowiedzi (RTT, Round Trip Time);
  • Nieużywanie tego samego numeru sekwencyjnego podczas retransmisji pakietu, co pozwala uniknąć niejednoznaczności w identyfikacji odebranych pakietów i pozbyć się przekroczeń limitu czasu;
  • Utrata pakietu wpływa jedynie na dostarczanie powiązanego z nim strumienia i nie wstrzymuje dostarczania danych w równoległych strumieniach przesyłanych bieżącym połączeniem;
  • Funkcje korekcji błędów minimalizujące opóźnienia spowodowane retransmisją utraconych pakietów. Zastosowanie specjalnych kodów korekcji błędów na poziomie pakietu w celu ograniczenia sytuacji wymagających retransmisji utraconych danych pakietowych.
  • Granice bloków kryptograficznych są wyrównane z granicami pakietów QUIC, co zmniejsza wpływ utraty pakietów na dekodowanie zawartości kolejnych pakietów;
  • Brak problemów z blokowaniem kolejek TCP;
  • Obsługa identyfikatora połączenia, co skraca czas potrzebny na nawiązanie ponownego połączenia dla klientów mobilnych;
  • Możliwość podłączenia zaawansowanych mechanizmów kontroli przeciążenia łączy;
  • Wykorzystuje techniki prognozowania przepustowości w poszczególnych kierunkach, aby zapewnić, że pakiety są wysyłane z optymalną szybkością, zapobiegając ich przeciążeniu i powodując utratę pakietów;
  • Wyczuwalny zyskać wydajność i przepustowość w porównaniu do protokołu TCP. Wykazano, że w przypadku usług wideo, takich jak YouTube, QUIC zmniejsza liczbę operacji ponownego buforowania podczas oglądania filmów o 30%.

Źródło: opennet.ru

Dodaj komentarz