После обновления статических элементов сайта, у пользователя не сбрасывается кэш. Было принято решение дописывать версию к css в адресе, вида style.css?v=1. Возник вопрос, допустим если будет в очередной раз обновлен background что прописан в css и версия стилей сменится на 2, кэш css у пользователя обновится, а кэш самой картинки что прописана в css тоже или и картинкам дописывать версию? При условии что их имена не изменяются.
Спасибо!
Кэш картинок отдельный. Но они со временем обновятся, если у вас не вечное кэширование. Для простоты можно также переименовать картинку. Не вижу проблемы с названиями background2, background3 и т.д.
Это все известно. Но интересно другое, как относится браузер в данном случае, вдруг он сбрасывает кэш не только исключительно файла style, но и включая всех на которые тот ссылается? даже несмотря на то, что это все разные закэшированные элементы.
Из вашего ответа, я так понимаю, что нет? или вы просто констатировали что "Кэш картинок отдельный"?
Нет, связи между кэшами нет.
В том и смысл, что вы, к примеру, меняете страничку (например, она динамическая), а вся статика, включая картинки, подгружается с кэша.
Если что-то закэшировано, то браузер даже не обращается к серверу. Так что даже в теории не может определить, обновилась ли картинка или нет. Когда время кэша истечёт, либо когда кэш очищен/утерян, браузер ещё раз загрузит картинку.
Напоминаю, что веб-сервер решает, что браузеру кэшировать, а что - нет. Браузер почти всегда слушается. Если у вас css и картинки не являются статикой, то настройте сервер так, чтобы они подгружались каждый раз при каждом обращении к странице. Однако, хорошего в этом мало.
Я знаю как работает кэш, я не знаю как работает эта версионность вида ?12345, помимо того что просто изменения в адресе, принимает за новый файл и соответственно обновляет прежний. Конкретно про нее и вопрос.
Статика хранится долго. И все ок, мне лишь нужно определиться, при обновлении графики в css к ней тоже дописывать версии или достаточно только к самому css, чтобы все вовремя обновлялось и ничего никуда не поехало :)