Назад | Перейти на главную страницу

Обход кеша браузера с настройками сервера в большой производственной среде

Недавно мы применили патч к нашей системе ERP, который обновил файлы HTML, JavaScript и CSS. После применения патча большое количество пользователей позвонили в службу поддержки, чтобы сообщить о потере функциональности на странице меню.

Основная причина заключалась в том, что браузер пользователя (IE11) содержал старый файл JavaScript в кеше браузера. Нажатие F5 на клавиатуре или очистка кеша решает проблему, поскольку заставляет новую версию файла JavaScript загружаться с сервера.

Однако инструктировать каждого пользователя о том, как очистить кеш, нельзя, поскольку системой ERP несколько сотен тысяч пользователей.

Мой вопрос: есть ли какие-либо настройки на стороне сервера, которые заставят браузер загружать новейший файл JavaScript с сервера (Apache)? Есть ли лучший способ для подобных ситуаций?

Мы знаем, что настройки браузера можно изменить, чтобы всегда загружать новый файл, но есть опасения по поводу влияния на производительность сети и сервера. Также мы не можем использовать автоверсию из-за ограничений поддержки.

Любые мысли приветствуются.

Вы не можете решить свою текущую проблему с помощью конфигурации на стороне сервера, потому что клиенты не собираются снова обращаться к серверу, потому что они уже кэшировали контент. Таким образом, любые изменения, внесенные вами на сервер, не будут переданы клиенту.

В будущем вам следует рассмотреть возможность удаления или изменения связанных с кешированием заголовков, которые сервер в настоящее время отправляет, чтобы клиенты перестали неправильно кэшировать данные. Что именно и как делать, зависит от системы, но поставщик должен иметь возможность дать рекомендации, потому что это то, за что вы им платите.

Вам нужно изучить условный GET HTTP и то, как реализовать это в вашей настройке.

Чтобы решить текущую проблему, вам необходимо переименовать файл JavaScript в программе. Однако перед этим вам необходимо реализовать условный GET.