Когда вы указали браузеру кэшировать, заголовок ответа содержит валидатор с именем Last-Modified
. Когда браузер перезагружается, он может включить это в запрос к серверу в запросе If-Modified-Since
при запросе GET или HEAD. Это приведет к тому, что сервер вернет 304
, если элемент не изменился.
Таким образом, похоже, что все работает так, как должно. Тот факт, что вы изменили файл, заставил сервер сказать: «Да, этот файл был изменен, поэтому кеш не должен использоваться. Вот последний», потому что значение Last-Modified
не будет совпадать.
Если вы хотите избежать этого и полагаться на тайм-аут кэша, даже если файл изменяется, вы можете изменить свой сервер, чтобы убедиться, что значения ETag
и Last-Modified
никогда не изменятся для этих файлов. Но я бы порекомендовал, чтобы он действовал таким образом и позволил новому файлу изменений занять место в кэше.
См. в этом руководстве для получения более подробной информации.