Кеширование браузера после развертывания

На моем сервере есть следующие команды кеширования:

# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 2 days"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType text/css "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
</IfModule>
# END Expire headers

Я проверил, кеширование работает нормально. У меня Capistrano настроен для развертывания на сервере, мой вопрос: что произойдет после развертывания? Будет ли браузер кэшировать файлы снова, потому что они изменили путь на сервере, или пользователю придется ждать, пока истечет время? Спасибо...


person Wolf87    schedule 31.10.2013    source источник


Ответы (1)


my question is what will happen after deploy? Will the browser cache the files again because they changed the path on the server or user will have to wait for time to expire?

К сожалению, пользователям придется подождать, пока браузеры истечут срок действия кешированных данных, поскольку браузеры не могут узнать, были ли эти файлы изменены. Однако, если вы можете изменить src paths этих файлов, браузер снова подключится к серверу и получит новую копию.

person anubhava    schedule 31.10.2013
comment
Спасибо за ответ. Что лучше использовать: eTag или LastModified, чтобы браузер снова кешировал? Или то, что вы упомянули - снятие отпечатков URL? Еще раз спасибо... - person Wolf87; 01.11.2013
comment
Etag считается более сильным, проверьте эту ссылку: stackoverflow.com/questions/824152/ - person anubhava; 01.11.2013