Понимание кэширования изображения в веб-браузерах

StackOverflow https://stackoverflow.com/questions/4211507

Вопрос

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

Спасибо

Это было полезно?

Решение

Полный набор факторов:

  • HTTP заголовки, которые влияют на кэширование
  • Поведение кэширования пользовательского агента (браузера)
    • Может быть изменен через пользовательские настройки, в зависимости от UA
    • в том числе частные режимы просмотра, которые могут использовать, а затем очистить отдельный кеш на сеанс
  • Действия пользователя, такие как вручную очистки кэша

У веб-разработчиков очень мало контроля, но это нормально. Помните, что кэширование сделано в интересах конечного пользователя, обычно для уменьшения времени загрузки страницы, и, как правило, невозможно узнать все соображения, характерные для каждого пользователя.

Немного тебя могу Контроль - это время истечения и поведение без кэша. Эти соответственно указывают, что пользователь хочет Чтобы выразить ресурс, потому что, как ожидается, изменится или не должен быть кэширован по другим причинам.

Браузеры могут обрабатывать изображения по-разному, чем другие ресурсы (в основном отличающиеся временем истечения срока действия по умолчанию, когда он не указан), но вы можете отправлять заголовки HTTP для любого ресурса.

Другие советы

На стороне клиента проверьте, отправит ли клиентский браузер, если бы заголовок на сервер. Если клиент отправляет заголовок, IIS ответит 304 не изменен и, следовательно, клиент будет использовать свой локальный кэш для отображения / использования файла.

Настройки клиента несут ответственность за это. IE -> Инструменты -> Параметры Интернета -> История просмотра -> Настройки -> Автоматически убедитесь, что это происходит. Различные браузеры будут иметь разные регионы для этой настройки.

Для скриптов / аудио вы можете разместить их в специальной папке для контента и просто установить срок действия контента с вашего сервера, чтобы сервер отправил соответствующую информацию клиенту кэшировать файл, когда он просят. Это не будет настройкой разработчика, хотя.

Настройка разработчика обычно для динамических файлов. На основании языка [в ASP.NET Directive Outputcache создает разные заголовки кэша] Это будет варьироваться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top