Mozilla випущена декілька днів томуeu наступні нічні версії Firefox, що ляже в основу запуску Firefox 72 вони почнуть отримувати початкову підтримку протоколу HTTP / 3. Враховуючи за замовчуванням ця підтримка HTTP / 3 відключена і вимагає активації користувачем опції «network.http.http3.enabledВ "about: конфігурація".
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 і тестовий сервер на основі бібліотеки кіш (реалізація QUIC та HTTP / 3 в хмарі Cloudflare Rust).
Нарешті, очікується випуск наступної версії Firefox 72відповідно до вашого розкладу, оскільки випуск запланований на 7 січня наступного року.