Що таке HTTP/3?

HTTP — це те, що тримає інтернет живим. Кожен раз, коли відкриваєш сайт, прогортаєш стрічку чи завантажуєш мем, саме HTTP визначає, як твій браузер спілкується з сервером.

Версії протоколу змінюються нечасто: HTTP/1.1 з нами з 1997 року, HTTP/2 затвердили аж у 2015-му. І ось, нарешті, з’явився HTTP/3 — оновлення, яке кардинально змінює підхід до передачі даних.

Розберімось, що в ньому особливого, чому інтернет так активно переходить на цю версію та як вона працює під капотом.

Що таке HTTP/3 простими словами?

HTTP/3 — це нова основна версія протоколу передачі гіпертексту. Її завдання — зробити інтернет швидшим, стабільнішим і безпечнішим.

HTTP/3 працює не на TCP (протокол із послідовністю та вищими затримками), а на QUIC — сучасному транспортному протоколі, який використовує UDP (швидшого способу передавання даних). Завдяки QUIC усуваються вузькі місця, що десятиліттями гальмували веб.

По факту, HTTP/3 з’явився тому, що старі протоколи не встигали за тим, як ми користуємося інтернетом сьогодні:

  • смартфони постійно перемикаються між Wi-Fi та мобільною мережею;
  • відео та стріми стали основним контентом;
  • користувач хоче швидкості тут і зараз.

Трохи фактів

Щоб зрозуміти HTTP/3, треба знати історію QUIC.

  • 2012 — Google починає експериментувати з новим протоколом на базі UDP.
    Мета: отримати швидкість UDP, але залишити надійність TCP.
  • 2016 — проєкт бере під крило IETF і починає формувати стандарт.
  • 2021 — публікується RFC 9000 та офіційно запускається HTTP/3.

З цього моменту всі великі браузери та сервіси (Chrome, Firefox, Safari, Cloudflare, Facebook, YouTube) почали додавати підтримку нового протоколу.

Сьогодні HTTP/3 активно використовують приблизно 36,4% сайтів — і це число швидко зростає.

Як працює HTTP/3?

Щоб зрозуміти різницю між HTTP/3 та попередніми версіями, достатньо подивитися, як саме відбувається обмін даними. 

  • Браузер надсилає запит до сервера та пропонує набір версій HTTP, з якими готовий працювати.
  • Сервер відповідає, що може перейти на HTTP/3, і це узгодження відбувається через механізм ALPN.
  • Після цього встановлюється з’єднання через QUIC, і разом із ним автоматично підіймається захист за TLS 1.3 — не потрібно окремих кроків, усе відбувається одним потоком.
  • Усередині цього з’єднання створюється багато незалежних потоків, у яких передаються окремі запити та відповіді.
  • Браузер починає отримувати дані паралельно: якщо один фрагмент загубився, це не впливає на інші потоки — вони продовжують рухатися.
  • Якщо змінюється мережа (наприклад, Wi-Fi → LTE), QUIC переносить з’єднання на нову адресу, тому обмін даними не переривається.

HTTP/2 вже недостатньо?

HTTP/2 справді зробив великий крок уперед, але його головне обмеження закладене в основі: він працює поверх TCP. А TCP створювався для мереж, які були стабільніші, передбачуваніші й повільніші, ніж сучасний інтернет. І це відчувається.

1. Проблема втрати пакетів

У TCP усі дані рухаються послідовно. Якщо один пакет губиться або приходить із затримкою, увесь потік даних чекає, поки мережа його відновить.

Навіть якщо це дрібна затримка — у HTTP/2 вона впливає на всі запити всередині з’єднання, бо вони йдуть одним потоком.

Для реального користувача це виглядає так:

  • довго завантажуються сторінки;
  • відео може зависати на декілька секунд;
  • UI здається важким.

У HTTP/3 цієї проблеми немає, бо кожен запит передається окремим незалежним потоком. Втрата одного фрагмента не блокує інші.

2. Повільне з’єднання

У HTTP/2 браузер спочатку встановлює TCP-з’єднання, а потім окремо домовляється про шифрування.

Це дві окремі процедури, які збільшують затримку перед тим, як почнуться реальні дані.

QUIC, на якому працює HTTP/3:

  • поєднує всі необхідні етапи в один;
  • одразу шифрує передачу;
  • дозволяє браузеру почати надсилати дані фактично з першої секунди, якщо це вже знайомий сервер.

Тому сторінки відкриваються швидше навіть без оптимізації контенту.

3. Проблеми при перемиканні мереж

TCP прив’язаний до конкретної IP-адреси. Змінив мережу (Wi-Fi → LTE) — з’єднання обривається і запускається спочатку.

QUIC працює інакше: він відокремлює логічне з’єднання від конкретної мережі.

Телефон може перемкнутися з однієї точки доступу на іншу, а передавання даних продовжиться без переривання. Для сучасних мобільних сценаріїв це величезна перевага.

4. Стара модель шифрування

У HTTP/2 шифрування працює на верхньому рівні поверх TCP. У HTTP/3 шифрування інтегроване в сам транспортний протокол і вимикається лише в теорії — фактично весь трафік завжди зашифрований.

Це зменшує ризики перехоплення і ховає частину службової інформації, яка у HTTP/2 була доступна спостерігачам.

Що нового в HTTP/3?

1. QUIC замість TCP

Найважливіше оновлення. QUIC працює поверх UDP, але містить:

  • контроль перевантажень;
  • відновлення після втрати пакетів;
  • шифрування.

Тобто це UDP, але з мозком.

2. Швидке встановлення з’єднання

QUIC об’єднує транспортний і TLS-handshake — початковий обмін повідомленнями, під час якого клієнт і сервер узгоджують параметри з’єднання. Завдяки цьому старт відбувається швидше й без зайвих затримок.

Менше очікування = швидше завантаження.

3. 0-RTT

0-RTT — це можливість почати надсилати дані без очікування підтвердження від сервера. 

Якщо браузер уже раніше під’єднувався до цього сервера і має необхідну інформацію для встановлення захищеного з’єднання, він може пропустити частину кроків і почати передачу одразу. Це скорочує затримку на старті й робить повторні завантаження швидшими.

4. Повне шифрування 

У HTTP/3 безпека вбудована прямо в основу протоколу: з’єднання одразу ініціюється з TLS 1.3, і дані передаються у захищеному вигляді з першого пакета. Це не лише приховує сам контент, а й мінімізує обсяг технічної інформації, яку може перехопити сторонній спостерігач.

5. Боротьба з DDoS-атаками

У HTTP/3 використовується інший підхід до керування потоками: сервер сам визначає, скільки нових запитів клієнт може відкривати одночасно. 

Така схема допомагає контролювати, скільки нових запитів може створити клієнт. Завдяки цьому складніше навмисно перевантажити систему швидкими повторними запитами — саме так працювали атаки типу HTTP/2 Rapid Reset.

Завдяки цьому сервер краще захищається від різких пікових навантажень і залишається доступним навіть у складних умовах.

6. Оптимізована обробка потоків у межах одного з’єднання

У QUIC кожен запит передається окремим потоковим каналом, який контролюється незалежно від інших. Це дозволяє протоколу розподіляти дані так, щоб затримки або проблеми з одним потоком не впливали на інші запити всередині того самого з’єднання. 

Такий підхід підвищує ефективність обробки даних на практичному рівні: сервер може паралельно відповідати на різні запити й не чекати завершення «проблемних» потоків.

Переваги HTTP/3

HTTP/3 створювали як відповідь на реальні виклики сучасного вебу: зростання кількості мобільних підключень, стрімінгу та сервісів, чутливих до затримок. Завдяки переходу на QUIC він працює помітно швидше й стабільніше, ніж попередні версії HTTP.

  • Менша затримка навіть на нестабільних мережах.
  • Швидше завантаження сторінок.
  • Вищий рівень безпеки.
  • Менший вплив втрати пакетів.
  • Ефективніший стрімінг, відео та ігрові сервіси.
  • Легше масштабування складних систем.

Недоліки HTTP/3

Попри переваги, це все ще відносно нова технологія, тож деякі аспекти інфраструктури та сумісності потребують доопрацювання.

  • UDP-трафік складніше оптимізувати на стороні провайдерів.
  • У деяких мережах блокуються нестандартні UDP-порти.
  • Частина корпоративних фаєрволів не повністю підтримує QUIC.
  • Серверні реалізації ще активно розвиваються.

HTTP/3 вже добре підтримується браузерами й великими CDN, тому поширюється швидко — і з часом обмежень буде дедалі менше.

Підсумок

HTTP/3 — це спроба переосмислити сам спосіб, яким працює інтернет. І хоча технологія ще росте, вона вже сьогодні дає реальний приріст швидкості та стабільності.

А також нагадуємо про системне навчання від ITEDU. Обирай свій напрям, підвищуй скіл і рухайся далі — твоє технічне завтра залежить від того, що робиш сьогодні.

Залишити відповідь

Дякуємо, що поділились