Я думаю, вам нужно сначала определить, действительно ли проблема связана с кэшированием или она вызвана размером вашего изображения.Вы можете использовать такую программу, как Wireshark или Fiddler, но, честно говоря, это излишне для ваших нужд, и у вас, вероятно, уже есть браузер с инструментами разработчика.
Вот как вы определяете, откуда исходит изображениеChrome (другие браузеры аналогичны).
- Откройте инструменты разработчика и перейдите на вкладку «Сеть».
- Найдите «bg.png» в списке сетевых запросов инажмите на его имя.Ниже приведен пример выбора изображения переполнения стека на этой странице.
Обратите внимание, что в нем указано состояние 200 (из кэша).Браузеру не нужно было выходить на сервер и запрашивать этот ресурс.Он использовал кеш.Если этот текст «из кэша» отсутствовал, он не использовал повторно кэшированные ресурсы.
Существует также вероятность того, что вы получите код состояния 304. Это означает, что сервер сказал, что изображение не былоне изменяется с момента последнего запроса, который вы сделали.В этом случае вы отключаете сервер.
Хорошо, значит, мое изображение не было в кеше ... что теперь?
Есть несколько причин, по которымэто может произойти.
- Ваш заголовок запроса не настроен на указание браузеру кэшировать изображение (также находится на той же вкладке «Заголовки», что вы видели этот код состояния, еслибраузер фактически пошел на сервер для изображения).Вы захотите установить
cache-control
и expires
на то, что имеет смысл для вас.Заголовки кэша могут стать немного сложнее, вы можете просмотреть этот учебный документ по кэшированию . - Это SSL?Если так, то не все браузеры кешируют это, но большинство современных браузеров делают это.Установите
cache-control: public
на этих изображениях (и срок их действия также истекает).
Реальный вопрос здесь в том, как это исправить?К сожалению, это полностью зависит от сервера и / или используемой вами платформы.Поскольку ОП использует Apache, они могут найти отличную документацию по модулю Apache mod_expires, чтобы выяснить, как настроить кэширование для своего сайта .