Nočné zostavy Firefoxu teraz podporujú HTTP/3

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

Поддержка HTTP/3 в Firefox основана на развиваемом компанией Mozilla проекте neqo, предоставляющем реализацию клиента и сервера для протокола QUIC. Код компонентов для поддержки HTTP/3 и QUIC написан на языке Rust.
Из клиентского ПО экспериментальная поддержка HTTP/3 также уже pridané в Chrome и curl, а для серверов доступна в форме модуля для nginx и тестового сервера на базе библиотеки quiche (uskutočnenie QUIC и HTTP/3 на языке Rust от компании Cloudflare). Для проверки работы клиентов HTTP/3 spustený несколько тестовых сайтов, большая часть из которых пока корректно не открывается в Firefox (HTTP/3 находится на стадии черновой спецификации и окончательно не стандартизирован).

Pripomeňme, že HTTP/3 štandardizuje používanie protokolu QUIC ako prenosu pre HTTP/2. Protokol QUIC (Quick UDP Internet Connections) vyvinula spoločnosť Google od roku 2013 ako alternatívu ku kombinácii TCP+TLS pre web, čím rieši problémy s dlhými časmi nastavenia a vyjednávania pre pripojenia v TCP a odstraňuje oneskorenia pri strate paketov počas prenosu dát. QUIC je rozšírenie protokolu UDP, ktoré podporuje multiplexovanie viacerých pripojení a poskytuje metódy šifrovania ekvivalentné TLS/SSL.

Hlavné rysy QUIC:

  • Vysoká bezpečnosť podobná TLS (v podstate QUIC poskytuje možnosť používať TLS cez UDP);
  • Kontrola integrity toku, zabránenie strate paketov;
  • Schopnosť okamžitého nadviazania spojenia (0-RTT, v približne 75 % prípadov je možné preniesť dáta ihneď po odoslaní paketu nastavenia spojenia) a poskytnúť minimálne oneskorenia medzi odoslaním požiadavky a prijatím odpovede (RTT, Round Trip Time);
  • nepoužívanie rovnakého poradového čísla pri opätovnom prenose paketu, čo zabraňuje nejednoznačnosti pri identifikácii prijatých paketov a zbavuje sa časových limitov;
  • Strata paketu ovplyvňuje iba doručovanie toku, ktorý je s ním spojený, a nezastavuje doručovanie údajov v paralelných tokoch prenášaných cez aktuálne spojenie;
  • Funkcie opravy chýb, ktoré minimalizujú oneskorenia v dôsledku opätovného prenosu stratených paketov. Použitie špeciálnych kódov na opravu chýb na úrovni paketov na zníženie situácií vyžadujúcich opakovaný prenos stratených paketových dát.
  • Hranice kryptografických blokov sú zarovnané s hranicami paketov QUIC, čo znižuje vplyv strát paketov na dekódovanie obsahu nasledujúcich paketov;
  • Žiadne problémy s blokovaním fronty TCP;
  • Podpora pre identifikátor pripojenia, ktorý znižuje čas potrebný na vytvorenie opätovného pripojenia pre mobilných klientov;
  • Možnosť pripojenia pokročilých mechanizmov kontroly preťaženia pripojenia;
  • Používa techniky predpovedania priepustnosti v každom smere, aby sa zabezpečilo, že pakety budú odosielané optimálnou rýchlosťou, čím sa zabráni ich preťaženiu a strate paketov;
  • Vnímateľné rast výkon a priepustnosť v porovnaní s TCP. V prípade video služieb, ako je YouTube, sa ukázalo, že QUIC znižuje operácie opätovného vyrovnávania pamäte pri sledovaní videí o 30 %.

Zdroj: opennet.ru

Pridať komentár