Я использую Apache 2.4.18 в Ubuntu (на одном сервере). Я не вносил никаких изменений в настройки по умолчанию, что касается заголовков кэша (нет изменений, связанных с кэшем, в /etc/apache2/apached2.conf, нет файлов .htaccess). Насколько я понимаю, поведение Apache по умолчанию состоит в использовании ETag с желаемым поведением возврата 304, если у клиента уже есть соответствующий файл, или 200 (плюс новый файл), если его нет.
Это не то, что я вижу.
В iOS / Safari, когда я обновляю файлы на сервере, мой клиент ведет себя так, как будто он содержит смесь старых и новых файлов. Эту проблему можно решить, очистив веб-данные в Safari и перезагрузив страницу, поэтому это кажется проблемой кеширования. Я читал, что iOS / Safari (или, по крайней мере, был в более ранних версиях?) Отличается в отношении заголовков ETag. Но мне не было ясно, как это исправить.
В Chrome в Windows файл всегда обслуживается (т. Е. Ответ 200, а не 304), даже если файл не изменился со времени последнего запроса, хотя я вижу использование ETag в заголовках.
Может ли кто-нибудь поделиться своими настройками apache 2.4, чтобы получить желаемое поведение, описанное выше, как на iOS, так и на Chrome?
(Вот еще один вопрос, который задает то же самое в части Chrome: Apache + Etags -> возвращает 200 и отправляет контент вместо 304 )