Использование HTTP / 2 с angularJS

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

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

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

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

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
5 941
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

Как только вы вникнете в эту тему, это увлекательная тема.

Да, мои запросы данных находятся в другом домене. Мне нужно выяснить, почему этот домен не поддерживает HTTP / 2. Спасибо большое за вашу помощь.

InquisitiveP 08.05.2018 12:24

Однако я не очень ясен по второму пункту. С HTTP / 2 ограничение на 6 параллельных запросов хрома исчезнет, ​​верно?

InquisitiveP 08.05.2018 13:24

Да, это так, потому что вы можете отправлять несколько запросов по одному и тому же соединению с HTTP / 2, тогда как вам приходилось открывать больше соединений для нескольких соединений (этот браузер ограничен 6). См. Мой ответ здесь, чтобы узнать больше об этом: stackoverflow.com/questions/36517829/…. Однако, хотя предел 6 резко увеличен (часто до 100), он не является полностью неограниченным, и теперь были замечены другие побочные эффекты, теперь предел увеличен. Более подробную информацию вы можете найти в моей книге по этой теме: manning.com/books/http2-in-action

Barry Pollard 08.05.2018 13:30

Другие вопросы по теме