Переименование файла, переместив его на новое имя. (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();
}
Да, это одно из преимуществ 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, когда они становятся обычными (как это происходит сейчас!), а в том, чтобы снизить сложность.