Firefox мамыр айының соңына дейін HTTP/3 қолдауын іске қосады деп күтілуде.

Компания Mozilla сообщила о намерении начать поэтапное включение протоколов HTTP/3 и QUIC в выпуске Firefox 88, намеченном на 19 апреля (изначально, релиз ожидался 20 апреля, но, судя по графику, сдвинут на один день). Вначале поддержка HTTP/3 будет активирована лишь для небольшого процента пользователей и, если не возникнет непредвиденных проблем, будет доведена до всех к концу мая. В ночных сборках и бета-версиях HTTP/3 был включён по умолчанию в конце марта.

Напомним, что реализация HTTP/3 в Firefox основана на развиваемом компанией Mozilla проекте neqo, предоставляющем реализацию клиента и сервера для протокола QUIC. Код компонентов для поддержки HTTP/3 и QUIC написан на языке Rust. Для управления включением HTTP/3 в about:config предусмотрена опция «network.http.http3.enabled». Из клиентского ПО экспериментальная поддержка HTTP/3 также добавлена в Chrome и curl, а для серверов доступна в nginx, а также в форме nginx-модуля и тестового сервера от компании Cloudflare. На стороне сайтов поддержка HTTP/3 уже обеспечена на серверах Google и Facebook.

Протокол HTTP/3 пока находится на стадии черновой спецификации и окончательно не стандартизирован в IETF. Для использования HTTP/3 требуется поддержка на стороне клиента и сервера одной и той же версии чернового стандарта QUIC и HTTP/3, которая указывается в заголовке Alt-Svc (Firefox поддерживает черновики спецификации с 27 по 32).

HTTP/3 определяет использование протокола QUIC в качестве транспорта для HTTP/2. Протокол QUIC (Quick UDP Internet Connections) c 2013 года развивается компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. В процессе разработки в IETF стандарта в протокол были внесены изменения, что привело к возникновению двух параллельно существующих веток, одна для HTTP/3, а вторая поддерживаемая Google (Chrome поддерживает оба варианта).

QUIC негізгі мүмкіндіктері:

  • TLS-ке ұқсас жоғары қауіпсіздік (негізінен QUIC UDP арқылы TLS пайдалану мүмкіндігін береді);
  • Ағынның тұтастығын бақылау, пакеттердің жоғалуын болдырмау;
  • Қосылымды лезде орнату мүмкіндігі (0-RTT, шамамен 75% жағдайда деректерді қосылымды орнату пакетін жібергеннен кейін бірден беруге болады) және сұрауды жіберу мен жауап алу арасындағы ең аз кідірістерді қамтамасыз ету (RTT, бару уақыты);
  • Пакетті қайта жіберу кезінде басқа реттік нөмірді пайдалану, бұл қабылданған пакеттерді анықтауда екіұштылықты болдырмайды және күту уақытынан құтылады;
  • Пакеттің жоғалуы онымен байланысты ағынның жеткізілуіне ғана әсер етеді және ағымдағы қосылым арқылы берілетін параллельді ағындардағы мәліметтерді жеткізуді тоқтатпайды;
  • Жоғалған пакеттерді қайта жіберуге байланысты кідірістерді азайтатын қателерді түзету мүмкіндіктері. Жоғалған пакеттік деректерді қайта жіберуді қажет ететін жағдайларды азайту үшін пакет деңгейінде арнайы қателерді түзету кодтарын пайдалану.
  • Криптографиялық блок шекаралары QUIC пакет шекараларымен сәйкестендіріледі, бұл келесі пакеттердің мазмұнын декодтау кезінде десте жоғалуларының әсерін азайтады;
  • TCP кезегін блоктауда проблемалар жоқ;
  • Ұялы клиенттер үшін қайта қосылуды орнатуға кететін уақытты азайтатын қосылым идентификаторын қолдау;
  • Жетілдірілген қосылымның кептелуін бақылау механизмдерін қосу мүмкіндігі;
  • Пакеттердің оңтайлы жылдамдықпен жіберілуін қамтамасыз ету, олардың кептелуіне және пакеттердің жоғалуына жол бермеу үшін әр бағыттағы өткізу қабілеттілігін болжау әдістерін пайдаланады;
  • TCP-мен салыстырғанда өнімділік пен өткізу қабілетінің айтарлықтай артуы. YouTube сияқты бейне қызметтері үшін QUIC бейнелерді көргенде кері қайтару әрекеттерін 30%-ға азайтатыны көрсетілген.
  • Ақпарат көзі: opennet.ru

пікір қалдыру