настройки кэша Apache, чтобы получить 200 или 304 в зависимости от ситуации - PullRequest
0 голосов
/ 08 мая 2018

Я использую 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 )

1 Ответ

0 голосов
/ 21 мая 2018

Я думаю, что ответ на мой вопрос заключается в том, что кэширование работает иначе, по крайней мере в Chrome, когда вы используете протокол file: // для локального тестирования по сравнению с протоколом http: //.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...