Реагировать на запросы Native Image через одно соединение HTTP/2

У нас есть много компонентов React Native <Image>, отображаемых на каждом экране, и мы наблюдаем проблемы с производительностью из-за множества одновременных HTTP-запросов. Открытие и закрытие соединения требует больших затрат, а слишком большое количество одновременных подключений может привести к ограничениям, вызывающим тайм-ауты.

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

CloudFront поддерживает HTTP/2 , HTTP/1.1 и HTTP/1 по умолчанию в зависимости от версии, которую клиент отправляет в заголовке запроса.

Мы заметили, что наше приложение React Native отправляет HTTP/1.1 в качестве версии в заголовках запросов для любого GET на <Image>. В отличие от популярных приложений, мы открываем и закрываем одно соединение для каждого GET. Как убедиться, что запросы React Native Image используют HTTP/2 и совместно используют соединение?

(Все наши изображения находятся в одном домене CloudFront.)

введите здесь описание изображения


Изменить — Дополнительная информация:

Наш дистрибутив CloudFront поддерживает HTTP/2:

введите здесь описание изображения

И похоже, что клиент и сервер согласны с h2:

введите здесь описание изображения


person sgarza62    schedule 12.03.2019    source источник
comment
Похоже на source, за исключением headers опора Вы пробовали это использовать?   -  person bennygenel    schedule 12.03.2019
comment
CloudFront поддерживает HTTP/2, но это не зависит от заголовка запроса — две версии HTTP несовместимы по проводам. Вы показываете ALPN h2, что говорит о том, что вы пытаетесь его использовать... Итак, первый вопрос: действительно ли вы включили функцию HTTP/2 в своей раздаче CloudFront?   -  person Michael - sqlbot    schedule 13.03.2019
comment
@Michael-sqlbot HTTP/2 указан как поддерживаемая версия в нашем облачном дистрибутиве, да. Я добавил изменения в детали вопроса.   -  person sgarza62    schedule 13.03.2019