Mozilla выпущена несколько дней назадeu следующие ночные версии Firefox, что ляжет в основу запуска Firefox 72 у них появится начальная поддержка протокола HTTP / 3. Учитывая по умолчанию эта поддержка HTTP / 3 отключена и требует активации пользователем опции «сеть.http.http3.enabledВо: конфиг».
HTTP / 3 стандартизирует использование протокола QUIC как транспорт для HTTP / 2. Протокол QUIC был разработан Google как альтернатива TCP + TLS для Интернета - проблемы, связанные с долгим временем настройки и координацией TCP, а также устранение задержек при потере пакетов во время передачи данных.
QUIC это плагин к протоколу UDP, который поддерживает мультиплексирование нескольких подключений и предоставляет методы шифрования, эквивалентные TLS / SSL. В Из ключевых особенностей QUIC выделяются следующие:
- Высокая безопасность, похожая на TLS (Фактически, QUIC предоставляет возможность использовать TLS поверх UDP).
- Контроль целостности потока, предотвращающий потерю пакетов.
- La возможность мгновенно установить соединение (0-RTT, примерно в 75% случаев данные могут быть переданы сразу после отправки пакета установки соединения) и обеспечить минимальные задержки между отправкой запроса и получением ответа (RTT, время приема-передачи).
- Не используйте один и тот же порядковый номер при пересылке пакета., что позволяет избежать неоднозначности при определении полученных пакетов и сократить время ожидания.
- Потеря пакета влияет на доставку только связанного с ним потока и не останавливает доставку данных в потоках, передаваемых параллельно по текущему соединению.
- Инструменты исправления ошибок, которые минимизируют задержки из-за повторной передачи потерянных пакетов. Использование специальных кодов исправления ошибок на уровне пакетов для уменьшения ситуаций, требующих повторной передачи потерянных пакетных данных.
- Границы криптографических блоков выровнены с границами пакетов QUIC, что снижает влияние потери пакетов на декодирование содержимого последующих пакетов.
- Нет проблем с блокировкой очереди TCP.
- Поддержка идентификатора подключения, что сокращает время установления переподключения для мобильных клиентов;
- Возможность подключения расширенных механизмов для управления накладными расходами на подключение.
- Использование техники прогнозирования пропускной способности в каждом направлении для обеспечения оптимальной интенсивности пересылки пакетов, предотвращающей достижение состояния перегрузки, при котором наблюдается потеря пакетов.
- Замечательный прирост производительности и производительности по TCP. Для видеосервисов, таких как YouTube, QUIC продемонстрировал сокращение операций повторной буферизации при просмотре видео на 30%.
Поддержка Firefox HTTP / 3 основана на проекте neqo. из Mozilla, который предоставляет клиентскую и серверную реализацию для протокола QUIC. Код компонента для поддержки HTTP / 3 и QUIC написан на Rust.
Чтобы проверить работу Клиенты HTTP / 3, запущено несколько тестовых площадок, большинство из которых еще не были должным образом открыты в Firefox, поскольку HTTP / 3 все еще находится на стадии черновика спецификации и в конечном итоге не стандартизирован.
Эта новая версия протокола уже проходит испытания и добавлена поддержка в некоторых приложениях, так как таков случай что экспериментальная поддержка HTTP/3 уже есть в Chrome, Curl и для серверов доступен в модульном виде для Nginx и тестовый сервер на основе библиотеки quiche (реализация QUIC и HTTP / 3 в облаке Rust от Cloudflare).
Наконец, ожидается выпуск следующей версии Firefox 72по вашему расписанию, так как релиз запланирован на 7 января следующего года.