Firefox түнгі құрастырулары енді HTTP/3-ті қолдайды
В түнгі құрылыстар Firefox, которые лягут в основу выпуска Firefox 72, запланированного на 7 января, қосылды поддержка протокола HTTP/3. По умолчанию HTTP/3 отключён и требует активации опции «network.http.http3.enabled» в about:config.
Поддержка HTTP/3 в Firefox основана на развиваемом компанией Mozilla проекте жоқ, предоставляющем реализацию клиента и сервера для протокола QUIC. Код компонентов для поддержки HTTP/3 и QUIC написан на языке Rust.
Из клиентского ПО экспериментальная поддержка HTTP/3 также уже қосылды в Chrome и curl, а для серверов доступна в форме модуль для nginx и тестового сервера на базе библиотеки Квиз (іске асыру QUIC и HTTP/3 на языке Rust от компании Cloudflare). Для проверки работы клиентов HTTP/3 іске қосылды несколько тестовых сайтов, большая часть из которых пока корректно не открывается в Firefox (HTTP/3 находится на стадии черновой спецификации и окончательно не стандартизирован).
Еске салайық, HTTP/3 QUIC протоколын HTTP/2 үшін тасымалдау ретінде пайдалануды стандарттайды. Протокол QUIC (Quick UDP Internet Connections) 2013 жылдан бері Google компаниясымен Интернетке арналған TCP+TLS тіркесіміне балама ретінде әзірленген, TCP жүйесіндегі қосылымдар үшін ұзақ орнату және келіссөздер уақыттары мәселелерін шешеді және деректерді тасымалдау кезінде пакеттер жоғалған кездегі кідірістерді болдырмайды. QUIC — бірнеше қосылымдарды мультиплекстеуді қолдайтын және TLS/SSL эквивалентті шифрлау әдістерін қамтамасыз ететін UDP протоколының кеңейтімі.
Қосылымды лезде орнату мүмкіндігі (0-RTT, шамамен 75% жағдайда деректерді қосылымды орнату пакетін жібергеннен кейін бірден беруге болады) және сұрауды жіберу мен жауап алу арасындағы ең аз кідірістерді қамтамасыз ету (RTT, бару уақыты);
Пакетті қайта жіберу кезінде бір реттік нөмірді пайдаланбау, бұл қабылданған пакеттерді анықтауда екіұштылықты болдырмайды және күту уақытынан құтылады;
Пакеттің жоғалуы онымен байланысты ағынның жеткізілуіне ғана әсер етеді және ағымдағы қосылым арқылы берілетін параллельді ағындардағы мәліметтерді жеткізуді тоқтатпайды;
Жоғалған пакеттерді қайта жіберуге байланысты кідірістерді азайтатын қателерді түзету мүмкіндіктері. Жоғалған пакеттік деректерді қайта жіберуді қажет ететін жағдайларды азайту үшін пакет деңгейінде арнайы қателерді түзету кодтарын пайдалану.
Криптографиялық блок шекаралары QUIC пакет шекараларымен сәйкестендіріледі, бұл келесі пакеттердің мазмұнын декодтау кезінде десте жоғалуларының әсерін азайтады;
TCP кезегін блоктауда проблемалар жоқ;
Ұялы клиенттер үшін қайта қосылуды орнатуға кететін уақытты азайтатын қосылым идентификаторын қолдау;
Жетілдірілген қосылымның кептелуін бақылау механизмдерін қосу мүмкіндігі;
Пакеттердің оңтайлы жылдамдықпен жіберілуін қамтамасыз ету, олардың кептелуіне және пакеттердің жоғалуына жол бермеу үшін әр бағыттағы өткізу қабілеттілігін болжау әдістерін пайдаланады;
Көрінетін ұлғайту TCP-мен салыстырғанда өнімділік пен өткізу қабілеттілігі. YouTube сияқты бейне қызметтері үшін QUIC бейнелерді көргенде кері қайтару әрекеттерін 30%-ға азайтатыны көрсетілген.