Использование HTTP / 2 с angularJS - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь найти способы повысить производительность моего веб-приложения, когда наткнулся на HTTP / 2. Читая об этом, я узнал, что у него очень много возможностей для повышения производительности сайта.

Переходя к части реализации, я вижу, что вам нужно только обновить браузер до последней версии, чтобы он мог использоваться. Поскольку мой браузер уже имеет последнюю версию, я вижу, что все мои ресурсы - файлы CSS, JS и HTML обслуживаются по протоколу HTTP / 2. Однако запросы данных, которые я делаю с помощью angularJS, все еще используют HTTP / 1.1. Вот мои вопросы.

  1. Как мне заставить мои запросы данных использовать протокол HTTP / 2? Нужно ли добавлять в заголовок дополнительный параметр?

  2. Откажется ли HTTP / 2 от 6 одновременных запросов для каждого домена в браузерах? Могу ли я сделать более 6 параллельных запросов AJAX?

Я использую angularJS на стороне клиента. Мой запрос идет через Cloudflare на сервер, обслуживаемый Play Framework.

1 Ответ

0 голосов
/ 07 мая 2018

Если HTTP / 2 поддерживается как клиентом (браузером), так и веб-сервером, то он будет использоваться. Нет никакой разницы в вашем внешнем JavaScript - браузер будет автоматически использовать его, если сможет.

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

Да HTTP / 2 значительно увеличивает количество параллельных запросов в полете. «100 в полете» - это обычная настройка сервера. Это, однако, приносит все интересные проблемы: например, Chrome обнаружил, что ему приходится сталкиваться с некоторыми неэффективными действиями при одновременном выполнении такого большого количества запросов и на некоторое время, накладывающих ограничение в 6 запросов HTTP / 2 одновременно. Также некоторые запросы с более низким приоритетом (например, ниже свернутых изображений) могут использовать полосу пропускания, лучше используемую для запросов с более высоким приоритетом (например, выше свернутых изображений). HTTP / 2 имеет концепцию зависимостей и приоритетов, но не каждый браузер использует их.

Это увлекательная тема, как только вы в нее войдете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...