HTTP/2 і HTTP/3: що змінюється у транспорті
HTTP/2 мультиплексує потоки HTTP в одному TCP-з’єднанні. HTTP/3 переносить семантику HTTP через QUIC поверх UDP. QUIC надає незалежні потоки та інтегрує TLS 1.3, тому втрата даних в одному потоці не створює транспортного блокування інших потоків так само, як втрата сегмента TCP.
Чим HTTP/3 відрізняється від HTTP/2
HTTP/2 працює поверх TCP, а HTTP/3 переносить семантику HTTP поверх QUIC, який використовує UDP. Тому втрата пакета в одному QUIC-потоці не обов’язково затримує дані інших потоків так, як втрата TCP-пакета може затримати кілька HTTP/2-потоків в одному з’єднанні.
Як перевірити, який протокол використовується
Відкрийте інструменти розробника браузера та перевірте протокол для конкретного запиту: h2 означає HTTP/2, h3 — HTTP/3. Якщо h3 не використовується, перевірте підтримку браузера й сервера, UDP/443 та Alt-Svc; недоступність HTTP/3 не повинна сама по собі ламати сайт, якщо працює fallback на HTTP/2. Для зовнішньої перевірки сайту додайте перевірку сайту 2ip до діагностики браузера.
Коли HTTP/3 не працює
Технічні джерела: RFC 9113 та RFC 9114.