Как долго файлы обычно хранятся в кэше браузера

Как долго файлы обычно хранятся в кэше браузера? Мне интересно об общем населении - как долго мне нужно ждать, чтобы быть разумно уверенным, что кэши большинства людей будут повторно загружать файл?

4 ответов


Это зависит от человека, браузера и настроек.

браузеры обычно резервируют определенное количество дискового пространства, например 12 MiB, для этой задачи. Если пользователь перестает использовать браузер, это бесконечно. Если он / она использует браузер редко, это будет до истечения срока действия - либо внутренней политикой, либо заголовками HTTP. Если он/она активно использует браузер, это может быть 12 минут или даже меньше.

Я считаю, что трудно сказать "вообще", поскольку у меня был сайт, на котором 50% записи были из Firefox и 49% от Opera, когда IE на тот момент имел более 75% доли рынка. Если целевая аудитория вашего сайта-пользователи, которые активно используют свои браузеры, она может быть очень короткой. С другой стороны, если ваш сайт посещается только веб-сайт, это может быть почти никогда.


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

Как заявил Мацей, это также вопрос того, сколько каждый человек просматривает. Подумайте о пользовательской базе, которая будет посещать ваш сайт, а также о том, насколько высока пропускная способность вашего сайта (если средний пользователь загружает тонны контента с вашего сайта, скорее всего, они заполнят свой кэш очень быстро).

Если требуется обновление кэша, вы можете заставить страницу не кэшировать файлы.


Как указано в других ответах, это зависит от настроек браузера. Но обратите внимание, что кэширование файла не обязательно означает, что изменения не извлекаются с вашего сайта. Если настроено для этого, браузер отправит запрос на сервер с подробной информацией о дате файла кэша. Сервер, чем затем ответить с "ОК, использовать кэш - это последняя версия", когда нет никаких изменений. Этот repsonse маленький и быстро отправили. Если версия сервера была обновлена, то сервер ответит новой версией.

Как часто браузер отправляет запрос на сервер, зависит от браузера - их можно настроить для проверки обновлений каждый раз, один раз в час, один раз в день, никогда или где-либо между ними. Сервер также может указать, как часто браузер должен проверять наличие обновлений.

Это просто эскиз-он упрощен и неполон. Для получения полной информации см. W3C - HTTP/1.1 кэширование.


зависит от того, как долго сервер указывает. Сервер отправляет обратно параметры в заголовке ответа. Они могут указать максимальный возраст (как долго кэшировать файл до истечения срока его действия в миллисекундах) или дату истечения срока действия (дата истечения срока действия файла). Если у него есть оба, max-age будет иметь приоритет.