Я провожу некоторые эксперименты с настройками кэша моего сайта.Я использую max-age
и Etag
для управления поведением кэша.Я тестирую в Safari и Chrome .Проблема возникает на max-age
.
Мой эксперимент выполняется в следующих шагах:
- установите
max-age
на 10
- в браузере, откройтев новом окне инкогнито загрузите страницу
- внесите некоторые изменения в html-файл, сохраненный на сервере
- , подождите> 10 секунд, затем в том же окне инкогнито браузера откройте новую вкладкуи загрузите тот же URL-адрес
- , повторите шаги 3-4 и проверьте, присутствует ли изменение в новой вкладке
Мои наблюдения:
Safari запроситновая страница с сервера каждый раз, когда страница была изменена.Пока Chrome не загрузит новую страницу по запросу после первой модификации.Код состояния в dev-tool
отображается как 200 OK (from disk cache)
.Но он будет загружать новые страницы при всех следующих запросах.
Похоже, что при запросе после первой модификации Chrome игнорирует max-age
и принудительно использует кэш.Я не могу понять, что не так.
Заголовки ответа в dev-tool
в Chrome:
HTTP/1.1 304 Not Modified
Cache-Control: max-age=10
Date: Tue, 13 Nov 2018 03:04:56 GMT
Etag: "37b-57a82e5783547"
Expires: Tue, 13 Nov 2018 03:05:06 GMT
Server: Apache/2.4.29 (Win64) mod_wsgi/4.5.24 Python/3.6