HTTP/3 і QUIC: як працює новий транспорт вебу
HTTP/3 — версія протоколу HTTP, що використовує QUIC замість звичного поєднання HTTP/2, TLS і TCP. QUIC працює поверх UDP, але додає власні надійні потоки, керування перевантаженням і захищене узгодження з’єднання. Сама підтримка HTTP/3 не робить сайт швидшим за будь-яких умов.
Що змінилося порівняно з HTTP/2
Методи на кшталт GET і коди відповіді зберігають звичний зміст: змінюється спосіб передавання повідомлень. HTTP/2 передає кілька потоків одним TCP-з’єднанням. Втрата сегмента TCP може затримати доставку даних інших потоків на транспортному рівні. QUIC керує потоками сам, тому втрата в одному потоці не вимагає так само чекати дані іншого. Це може допомогти в мережі з втратами, але не скасовує фізичної затримки й обмежень швидкості сервера.
QUIC включає захист на основі TLS 1.3 у своє узгодження. Формула «поверх UDP» не означає передавання вмісту відкритим текстом: HTTP/3 передбачає захищене з’єднання. За повторного підключення деякі сценарії можуть скоротити час узгодження, але конкретна поведінка залежить від клієнта, сервера й того, що вони вже знають один про одного.
Порт 443 і запасний варіант
HTTP/3 зазвичай використовує UDP 443, тоді як HTTP/2 через HTTPS найчастіше працює на TCP 443. Якщо локальна мережа чи брандмауер блокує UDP, з’єднання QUIC може не встановитися. Клієнти зазвичай пробують іншу підтримувану версію HTTP через TCP. Тому відмова UDP 443 не завжди робить сайт недоступним, але може вплинути на швидкодію чи діагностику. Перевірка TCP-порту 443 не доводить підтримки HTTP/3.
У браузері можна переглянути версію протоколу конкретного запиту в інструментах розробника. Не робіть висновок лише за рекламою хостингу: CDN, проксі й окремі ресурси сторінки можуть використовувати різні з’єднання. Для повної перевірки потрібні запити з клієнта, який підтримує HTTP/3, та аналіз відповіді.
Коли це справді корисно
HTTP/3 може поліпшити роботу при втратах і зміні мережевого маршруту, наприклад під час переходу телефона між мережами, якщо реалізація підтримує потрібні механізми. Але велике зображення, повільний сервер чи зайві скрипти він сам не виправить. Вимірюйте завантаження сторінки й роботу користувача, а не лише назву протоколу. Специфікації HTTP/3 і QUIC визначають механізми; основи транспорту порівняно у статті про TCP та UDP.
Порівнюючи протоколи, використовуйте той самий сайт і схожі мережеві умови. Браузер може змінювати вибір між запитами, а кешування зменшує кількість звернень до мережі. Різницю в часі відкриття сторінки не можна пояснювати тільки HTTP/3, якщо одночасно змінилися зображення, CDN або стан сервера.
