Чем мультиплексирование QUIC отличается от HTTP / 2? - PullRequest
0 голосов
/ 12 февраля 2019

Чем мультиплексирование QUIC & HTTP / 3 (по UDP) отличается от мультиплексирования по HTTP / 2 (по TCP)?

1 Ответ

0 голосов
/ 05 июля 2019

Отличный вопрос!

HTTP / 2 по TCP страдает от небольшой неэффективности, вызванной TCP.Рассмотрим следующий пример. Предположим, у вас есть 3 потока A, B и C. Обозначим пакеты (кадры) каждого потока строчными буквами (a, b, c) и порядковым номером.Давайте посмотрим, что происходит с HTTP / 2 через TCP при отправке следующей последовательности:

server ---> a2, c2, b2, * c1, b1, a1 ---> client

Где * c1 означает, что этот кадр был потерян.Принимающая сторона (клиент) должна дождаться повторной передачи потерянного кадра * c1, прежде чем она сможет передать более поздние кадры на прикладной уровень (а именно, b2, c2, a2), поскольку связь осуществляется по TCP, а TCP гарантирует порядокДоставка!

Это в отличие от HTTP / 3 и QUIC, где по UDP это просто независимые пакеты, поэтому потеря * c1 не задержит доставку b2, c2 и a2 на прикладной уровень!

...