В noćne građe Firefox, которые лягут в основу выпуска Firefox 72, запланированного на 7 января, dodao поддержка протокола HTTP/3. По умолчанию HTTP/3 отключён и требует активации опции «network.http.http3.enabled» в about:config.
Поддержка HTTP/3 в Firefox основана на развиваемом компанией Mozilla проекте neqo, предоставляющем реализацию клиента и сервера для протокола QUIC. Код компонентов для поддержки HTTP/3 и QUIC написан на языке Rust.
Из клиентского ПО экспериментальная поддержка HTTP/3 также уже dodao в Chrome и curl, а для серверов доступна в форме модуля для nginx и тестового сервера на базе библиотеки quiche (izvršenje QUIC и HTTP/3 на языке Rust от компании Cloudflare). Для проверки работы клиентов HTTP/3 pokrenut несколько тестовых сайтов, большая часть из которых пока корректно не открывается в Firefox (HTTP/3 находится на стадии черновой спецификации и окончательно не стандартизирован).
Podsjetimo se da HTTP/3 standardizira korištenje QUIC protokola kao prijenosa za HTTP/2. Protokol QUIC (Quick UDP Internet Connections) Google je razvio od 2013. kao alternativu kombinaciji TCP+TLS za web, rješavajući probleme s dugim vremenom postavljanja i pregovaranja za veze u TCP-u i eliminirajući kašnjenja kada se paketi izgube tijekom prijenosa podataka. QUIC je proširenje UDP protokola koji podržava multipleksiranje više veza i pruža metode šifriranja ekvivalentne TLS/SSL-u.
Visoka sigurnost slična TLS-u (u suštini QUIC pruža mogućnost korištenja TLS-a preko UDP-a);
Kontrola integriteta protoka, sprječavanje gubitka paketa;
Mogućnost trenutnog uspostavljanja veze (0-RTT, u otprilike 75% slučajeva podaci se mogu prenijeti odmah nakon slanja paketa za postavljanje veze) i pružanja minimalnih kašnjenja između slanja zahtjeva i primanja odgovora (RTT, Round Trip Time);
Nekorištenje istog sekvencijskog broja pri ponovnom slanju paketa, čime se izbjegava dvosmislenost u identificiranju primljenih paketa i rješava se vremenskih ograničenja;
Gubitak paketa utječe samo na isporuku toka koji je s njim povezan i ne zaustavlja isporuku podataka u paralelnim tokovima koji se prenose kroz trenutnu vezu;
Značajke ispravljanja pogrešaka koje minimiziraju kašnjenja zbog ponovnog slanja izgubljenih paketa. Korištenje posebnih kodova za ispravljanje pogrešaka na razini paketa za smanjenje situacija koje zahtijevaju ponovni prijenos izgubljenih paketnih podataka.
Granice kriptografskih blokova usklađene su s granicama QUIC paketa, što smanjuje utjecaj gubitaka paketa na dekodiranje sadržaja sljedećih paketa;
Nema problema s blokiranjem TCP čekanja;
Podrška za identifikator veze, što smanjuje vrijeme potrebno za uspostavljanje ponovne veze za mobilne klijente;
Mogućnost povezivanja naprednih mehanizama kontrole zagušenja veze;
Koristi tehnike predviđanja propusnosti po smjeru kako bi se osiguralo da se paketi šalju optimalnim brzinama, sprječavajući da postanu zagušeni i uzrokuju gubitak paketa;
Primjetno rast performanse i propusnost u usporedbi s TCP-om. Za video usluge kao što je YouTube, pokazalo se da QUIC smanjuje operacije ponovnog međuspremnika prilikom gledanja videa za 30%.