Раздражение домена http2 без ущерба для производительности

Переименование файла, переместив его на новое имя. (FileUtils из Apache Commons IO lib)

  String newFilePath = oldFile.getAbsolutePath().replace(oldFile.getName(), "") + newName;
  File newFile = new File(newFilePath);

  try {
    FileUtils.moveFile(oldFile, newFile);
  } catch (IOException e) {
    e.printStackTrace();
  }
1
задан marzelin 3 March 2019 в 09:15
поделиться

1 ответ

Да, это одно из преимуществ HTTP / 2 и теоретически позволяет вам сохранять разделение для пользователей HTTP / 1.1 и автоматически отменять разделение для пользователей HTTP / 2.

Реальность, как всегда, немного сложнее - в основном из-за проблем с реализацией и серверов, разрешающих разные IP-адреса, как вы заявляете. Этому сообщению в блоге уже несколько лет, но в нем описаны некоторые проблемы: https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing/ . Возможно, это улучшилось с тех пор, но представьте, что проблемы все еще существуют. Также должны помочь новые функции, такие как ORIGIN frame , но пока они не получили широкой поддержки.

Я думаю, однако, стоит пересмотреть предположение, что шардинг на самом деле хорош для HTTP / 1.1. Затраты на настройку новых соединений (поиск DNS, настройка TCP, рукопожатие TLS и затем фактическая отправка HTTP-сообщений) не являются нематериальными, и исследования показали, что ограничение в 6 подключений для браузера действительно используется, не говоря уже о добавлении дополнительных при помощи шардинга. Конкатенация, спрайты и встраивание обычно являются гораздо лучшими вариантами, и они все еще могут использоваться для HTTP / 2. Попробуйте это на своем сайте, и мера - лучший способ убедиться в этом!

Кстати, именно по этим причинам (и безопасности) я менее заинтересован в использовании общих библиотек (например, jquery, bootstrap). ..etc.) из их CDN вместо локального размещения. По моему мнению, выигрыш в производительности пользователя, уже имеющего версию, которую использует ваш сайт, уже кешируется.

С учетом всего этого HTTP / 1.1 по-прежнему будет работать без закрытых доменов. Это может (возможно) быть медленнее, но это не сломается. Но большинство пользователей , скорее всего, используют HTTP / 2 , так стоит ли добавлять сложности для меньшинства пользователей? Разве это не способ постепенного улучшения вашего сайта для людей в современных браузерах (и поощрение тех, кто не обновляет)? Для более крупных сайтов (например, Google, Facebook ... и т. Д.) Меньшинство может по-прежнему представлять большое количество пользователей, и сложность того стоит (а у них есть ресурсы и опыт, чтобы с этим справиться), а для остальных из нас, мой Рекомендация состоит не в том, чтобы обновлять протоколы, такие как HTTP / 2, когда они становятся обычными (как это происходит сейчас!), а в том, чтобы снизить сложность.

0
ответ дан Barry Pollard 3 March 2019 в 09:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: