W nocnych wersjach Firefoxa dodano wsparcie dla HTTP/3.

W nocne wydania Firefox, który będzie podstawą wersji Firefox 72, zaplanowanej na 7 stycznia, dodano wsparcie dla protokołu HTTP/3. Domyślnie HTTP/3 jest wyłączone i wymaga aktywacji opcji „network.http.http3.enabled” w about:config.

Wsparcie HTTP/3 w Firefox opiera się na rozwijanym przez firmę Mozilla projekcie neqo, który zapewnia implementację klienta i serwera dla protokołu QUIC. Kod komponentów wspierających HTTP/3 i QUIC został napisany w języku Rust.
Z klienta oprogramowania eksperymentalne wsparcie dla HTTP/3 jest już dodano dostępne w Chrome i curl, a dla serwerów dostępne jest w formie modułu dla nginx i testowego serwera opartego na bibliotece quiche (realizacja QUIC i HTTP/3 w języku Rust od firmy Cloudflare). Aby sprawdzić działanie klientów HTTP/3 uruchomiono kilka stron testowych, z których większość wciąż nie otwiera się poprawnie w Firefox (HTTP/3 znajduje się w fazie roboczej specyfikacji i nie został ostatecznie zstandaryzowany).

Przypomnijmy, że HTTP/3 standaryzuje użycie protokołu QUIC jako transportu dla HTTP/2. Protokół QUIC (Quick UDP Internet Connections) od 2013 roku jest rozwijany przez firmę Google jako alternatywa dla połączeń TCP+TLS w sieci, rozwiązując problemy z długim czasem ustanawiania i uzgadniania połączeń w TCP oraz eliminując opóźnienia przy utracie pakietów w trakcie przesyłania danych. QUIC jest nadbudową nad protokołem UDP, wspierającą mnożenie połączeń i zapewniającą metody szyfrowania porównywalne z TLS/SSL.

Podstawowe cechy QUIC:

  • Wysokie bezpieczeństwo, podobne do TLS (w zasadzie QUIC zapewnia możliwość użycia TLS nad UDP);
  • Kontrola integralności strumienia, zapobiegająca utracie pakietów;
  • Możliwość natychmiastowego ustanowienia połączenia (0-RTT, w około 75% przypadków dane można przesyłać natychmiast po wysłaniu pakietu ustanowienia połączenia) oraz zapewnienie minimalnych opóźnień między wysłaniem żądania a otrzymaniem odpowiedzi (RTT, Round Trip Time);
  • Nie używanie tego samego numeru sekwencji podczas ponownej transmisji pakietu, co pozwala uniknąć dwuznaczności przy określaniu odebranych pakietów i wyeliminować opóźnienia;
  • Utrata pakietu wpływa na dostarczanie tylko powiązanego z nim strumienia i nie zatrzymuje dostarczania danych w równolegle przesyłanych strumieniach przez bieżące połączenie;
  • Środki korekcji błędów, minimalizujące opóźnienia spowodowane ponowną transmisją zagubionych pakietów. Wykorzystanie specjalnych kodów korekcji błędów na poziomie pakietów w celu zmniejszenia liczby sytuacji wymagających ponownej transmisji danych zagubionego pakietu.
  • Granice bloków kryptograficznych są wyrównane z granicami pakietów QUIC, co zmniejsza wpływ utraty pakietów na dekodowanie zawartości następnych pakietów;
  • Brak problemów z blokowaniem kolejek TCP;
  • Wsparcie dla identyfikatora połączenia, co pozwala skrócić czas na ponowne nawiązanie połączenia dla klientów mobilnych;
  • Możliwość podłączenia rozszerzonych mechanizmów kontroli przeciążenia połączenia;
  • Wykorzystanie techniki prognozowania przepustowości w każdym kierunku, aby zapewnić optymalną intensywność wysyłania pakietów, zapobiegając wpadnięciu w stan przeciążenia, w którym występuje utrata pakietów;
  • Wyraźny wzrost wydajności i przepustowości w porównaniu z TCP. Dla serwisów wideo, takich jak YouTube, zastosowanie QUIC wykazało zmniejszenie operacji ponownego buforowania podczas oglądania wideo o 30%.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster