У меня есть веб-сервер debian, на котором запущен apache, с которого я регулярно загружаю исполняемый файл с помощью IE 8 на виртуальной машине XP (по локальной сети). Однако я понял, что где-то по ходу дела я неоднократно запускал одну и ту же версию (и мне было интересно, почему мои изменения не отображаются).
А Ctrl+F5 в IE позволит мне загрузить новую версию (хотя страница всегда обновляется простым F5).
Это заставляет меня подозревать, что кеширование происходит в Windows / IE, но я не уверен.
Где бы это ни происходило, есть ли простой способ предотвратить это на сервере? В конце концов, мы надеемся предложить это программное обеспечение всей компании, и мы не хотели бы просить всех сделать Ctrl+F5 каждый раз появляется обновленная версия.
Если вы считаете, что Apache кэширует файл, вы можете отключить его, используя Директивы .httaccess:
<FilesMatch ".(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</FilesMatch>
Эта директива должна указывать IE загружать страницу каждый раз, когда она попадает на сайт.
В качестве альтернативы вы можете указать IE 8 никогда не кэшировать веб-сайт - перейдите в: Инструменты, Свойства обозревателя, Вкладка «Общие», Временные параметры Интернета.
Учтите, что из-за этого параметра может снизиться производительность либо на вашем веб-сервере, либо на стороне клиента. Судя по вашему описанию, это не проблема.
Вы можете настроить веб-страницу так, чтобы она не кешировалась - таким образом браузер всегда будет получать последний файл. Установите это в заголовке HTML страницы:
<meta http-equiv="Cache-Control" content="no-store"/>
Вы также можете установить, что заголовки элементов управления кешем отправляют в Apache - например, вам может потребоваться установить это для файлов .exe, а не только для html-страницы. Вот некоторая документация по этому поводу: http://www.askapache.com/htaccess/apache-speed-cache-control.html
Другой вариант - использовать «URL-адреса блокировки кеша», даже если это не похоже на то, что это применимо в вашей текущей настройке. Однако следует помнить об этом: http://www.adopsinsider.com/ad-ops-basics/what-is-a-cache-buster-and-how-does-it-work/