Compania Mozilla a anunțat intenția de a începe integrarea treptată a protocoalelor HTTP/3 și QUIC în versiunea Firefox 88, programată pentru 19 aprilie (inițial, lansarea era așteptată pe 20 aprilie, dar, conform graficului, a fost mutată cu o zi). La început, suportul pentru HTTP/3 va fi activat doar pentru un mic procent de utilizatori și, dacă nu apar probleme neprevăzute, acesta va fi extins la toți până la sfârșitul lunii mai. În versiunile nightly și beta, HTTP/3 a fost inclus implicit la sfârșitul lunii martie.
Reamintim că implementarea HTTP/3 în Firefox se bazează pe proiectul neqo dezvoltat de compania Mozilla, care oferă implementarea clientului și server pentru protocolul QUIC. Codul componentelor pentru suportul HTTP/3 și QUIC este scris în limba Rust. Pentru gestionarea activării HTTP/3, în about:config este disponibilă opțiunea „network.http.http3.enabled”. Suport experimental pentru HTTP/3 a fost, de asemenea, adăugat în Chrome și curl, iar pentru servere este disponibil în nginx, precum și sub formă de modul nginx și server de testare de la Cloudflare. Pe partea site-urilor, suportul pentru HTTP/3 este deja asigurat pe serverele Google și Facebook.
Protocolul HTTP/3 se află încă într-o etapă de specificație provizorie și nu este complet standardizat în IETF. Pentru utilizarea HTTP/3, este necesar să existe suport de ambele părți, client și server, pentru aceeași versiune a specificației provizorii QUIC și HTTP/3, care este indicată în antetul Alt-Svc (Firefox suportă specificațiile provizorii de la 27 la 32).
HTTP/3 definește utilizarea protocolului QUIC ca transport pentru HTTP/2. Protocolul QUIC (Quick UDP Internet Connections) este dezvoltat de Google din 2013 ca o alternativă la combinația TCP+TLS pentru Web, rezolvând problemele cu timpii mari de conectare și negociere a conexiunilor în TCP și eliminând întârzierile cauzate de pierderile de pachete în timpul transmisiilor de date. QUIC reprezintă o extensie a protocolului UDP, susținând multiplexarea mai multor conexiuni și oferind metode de criptare echivalente cu TLS/SSL. În timpul dezvoltării standardului în IETF, au fost făcute modificări protocolului, ducând la apariția a două ramuri paralele, una pentru HTTP/3 și cealaltă susținută de Google (Chrome suportă ambele variante).
Caracteristici principale ale QUIC:
- Securitate înaltă, similară cu TLS (în esență, QUIC oferă posibilitatea utilizării TLS peste UDP);
- Controlul integrității fluxului, prevenind pierderea pachetelor;
- Capacitatea de a stabili o conexiune instantanee (0-RTT, în aproximativ 75% din cazuri, datele pot fi transmise imediat după trimiterea pachetului de stabilire a conexiunii) și de a asigura întârzieri minime între trimiterea unei cereri și primirea răspunsului (RTT, Round Trip Time);
- Utilizarea unui alt număr de secvență pentru retransmisia pachetului, ceea ce permite evitarea ambiguității în determinarea pachetelor primit și eliminarea timeout-urilor;
- Pierderea unui pachet afectează livrarea doar a fluxului asociat și nu oprește livrarea datelor în fluxurile transmise în paralel prin conexiunea curentă;
- Mijloace de corectare a erorilor, care minimizează întârzierile cauzate de retransmisia pachetelor pierdute. Utilizarea unor coduri speciale de corectare a erorilor la nivel de pachet pentru a reduce situațiile care necesită retransmiterea datelor din pachetul pierdut.
- Limitele blocurilor criptografice sunt aliniate cu limitele pachetelor QUIC, ceea ce reduce impactul pierderilor de pachete asupra decodificării conținutului pachetelor următoare;
- Lipsa problemelor cu blocarea cozii TCP;
- Suport pentru identificatorul de conexiune, care permite reducerea timpului de reinstaurare a conexiunii pentru clienți mobile;
- Posibilitatea de a activa mecanisme extinse de control al supraîncărcării conexiunii;
- Utilizarea tehnicii de previzionare a capacității de transmisie în fiecare direcție pentru a asigura o intensitate optimă a trimiterii pachetelor, prevenind astfel ajungerea într-o stare de supraîncărcare, în care se observă pierderi de pachete;
- O creștere semnificativă a performanței și a capacității de transmisie comparativ cu TCP. Pentru servicii video, cum ar fi YouTube, utilizarea QUIC a arătat o reducere cu 30% a operațiunilor de re-buffering în timpul vizionării video.
Sursa: opennet.ro
