Недавно мы применили патч к нашей системе ERP, который обновил файлы HTML, JavaScript и CSS. После применения патча большое количество пользователей позвонили в службу поддержки, чтобы сообщить о потере функциональности на странице меню.
Основная причина заключалась в том, что браузер пользователя (IE11) содержал старый файл JavaScript в кеше браузера. Нажатие F5 на клавиатуре или очистка кеша решает проблему, поскольку заставляет новую версию файла JavaScript загружаться с сервера.
Однако инструктировать каждого пользователя о том, как очистить кеш, нельзя, поскольку системой ERP несколько сотен тысяч пользователей.
Мой вопрос: есть ли какие-либо настройки на стороне сервера, которые заставят браузер загружать новейший файл JavaScript с сервера (Apache)? Есть ли лучший способ для подобных ситуаций?
Мы знаем, что настройки браузера можно изменить, чтобы всегда загружать новый файл, но есть опасения по поводу влияния на производительность сети и сервера. Также мы не можем использовать автоверсию из-за ограничений поддержки.
Любые мысли приветствуются.
Вы не можете решить свою текущую проблему с помощью конфигурации на стороне сервера, потому что клиенты не собираются снова обращаться к серверу, потому что они уже кэшировали контент. Таким образом, любые изменения, внесенные вами на сервер, не будут переданы клиенту.
В будущем вам следует рассмотреть возможность удаления или изменения связанных с кешированием заголовков, которые сервер в настоящее время отправляет, чтобы клиенты перестали неправильно кэшировать данные. Что именно и как делать, зависит от системы, но поставщик должен иметь возможность дать рекомендации, потому что это то, за что вы им платите.
Вам нужно изучить условный GET HTTP и то, как реализовать это в вашей настройке.
Чтобы решить текущую проблему, вам необходимо переименовать файл JavaScript в программе. Однако перед этим вам необходимо реализовать условный GET.