Подтвердить что ты не робот

В чем разница между конвейерами HTTP/1.1 и мультиплексированием HTTP/2?

Это потому, что он требует, чтобы ответы были сделаны клиенту в порядке запроса, который вызывает проблему блокировки строк в HTTP 1.1?

Если каждый запрос занимает ровно столько же времени, то не будет заголовка блокировки строки и конвейера HTTP 1.1 и будет выполняться так же, как и для мультиплексирования HTTP/2?

(скажем, нет приоритета запроса в запросах HTTP/2 и игнорировать другие изменения HTTP/2, такие как сжатие заголовка, двоичный файл и т.д.)

4b9b3361

Ответ 1

Конвейерная обработка HTTP/1.1 по-прежнему требует, чтобы запросы были возвращены полностью, в запрошенном порядке.

HTTP/2 позволяет отклики запросов разбиваться на куски и возвращаться смешано, чтобы избежать блокировки строк.

Кроме того, конвейеризация HTTP/1.1 никогда не снималась, а поддержка браузера и сервера ограничена (см. https://en.m.wikipedia.org/wiki/HTTP_pipelining).

Но да, в теории, они схожи и, следовательно, дают схожие преимущества. HTTP/2 - это лучшая, более полнофункциональная, более поддерживаемая версия - наряду с другими преимуществами, которые вы отметили.

Ответ 2

HTTP/1.1 без конвейерной обработки: Каждый HTTP-запрос по TCP-соединению должен отвечать до того, как будет выполнен следующий запрос.

HTTP/1.1 с конвейерной обработкой: Каждый HTTP-запрос по TCP-соединению может быть сделан немедленно, не дожидаясь возврата предыдущего запроса ответа. Ответы вернутся в том же порядке.

Мультиплексирование HTTP/2: Каждый HTTP-запрос по TCP-соединению может быть сделан немедленно, не дожидаясь возврата предыдущего ответа. Ответы могут возвращаться в любом порядке.