Как избежать кеширование в браузере. Ревизия файлов

Бывает, такое, что после обновления сайта, новые стили или новые js скрипты не подтягиваются. Вроде бы на сервере файлы новые, но в браузере отображается все по старому. Это из-за кеша браузера. Программисты и многие пользователи знают как с этим бороться — просто почистить кеш. Но ведь не будешь писать после каждого обновления, чтобы пользователи сайта чистили кеш. Нужно другое решение. И оно есть — это ревизия файлов. Ревизия это по сути номер версии файла, она задается таким образом:

<link rel="stylesheet" type="text/css" href="/style/main.css?123" />
<script type="text/javascript" src="/javascript/main.js?123"></script>

В данном примере номер ревизии — 123, он указывается после файла с приписанным впереди знаком вопроса(?).
Если после обновления стилей или js скриптов, Вы будите менять номер ревизии, то браузер будет записывать в кеш новые файлы.
Это все хорошо, но менять руками ревизию для каждого файла не очень удобно. Можно это исправить, например, создать файл конфига и от туда брать номер ревизии. Все что Вам потребуется, это перед каждым обновлением исправлять файл конфига. Есть еще способ, но он подходит для не высоко нагруженных, тестовых и локальных сайтов: можно постоянно рандомно приписывать номер ревизии. Например, так :

<?php echo "?" . mt_rand(0,100); ?>. 

Способ с рандомной ревизией лучше не использовать, если у Вас на сайте большая аудитория посетителей, поскольку браузер будет постоянно обращаться к файлу на сервере, а не к своему кешу. И это не очень хорошо.

Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*