Как проверить, являются ли изображения от кэша

От Главные Первые Шаблоны разработки :

Помнят, код должен быть закрыт (для изменения) как цветок лотоса вечером, все же открыться (к расширению) как цветок лотоса утром

А, поддерживающий DI объект может быть настроен путем введения поведений, определенных в других классах. Структура исходного объекта не имеет изменения для создания многих изменений. Инжекция может быть сделана явной при наличии запроса класса другие классы рабочего в его конструкторе, или это может быть менее очевидно при использовании monkeypatching на динамических языках как Python.

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

13
задан Matas Vaitkevicius 10 February 2015 в 14:57
поделиться

2 ответа

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

Если это просто для отладки:

  • Safari имеет меню разработчика, которое можно включить в настройках. Здесь вкладка "Ресурсы" в Web Inspector будет показывать 0 мс, когда что-то загружается из кеша. Просматривая детали, вы увидите, что в этих случаях заголовок запроса отсутствует (хотя старый заголовок ответа все еще можно просмотреть).
  • При использовании Firefox с надстройкой Live HTTP Headers будет отображаться вы именно то, что запрашивали с сервера. Если не запрашивается, значит, загружен из кеша. (В этом случае ничего не запрашивается, даже если используется заголовок If-Modified-Since . )
  • Firefox с установленным надстройкой Firebug открывает вкладку «Сеть», но когда она включена, Firefox всегда запрашивает все содержимое снова, даже если вы не нажимаете Обновите, но просто переходите по некоторым ссылкам (таким образом, всегда с использованием заголовка If-Modified-Since , см. Ниже). Тем не менее, это все равно покажет вам "Не изменено". Некоторая облегченная версия Firebug также доступна для Internet Explorer.

Обратите внимание, что нажатие F5 / Refresh заставит большинство браузеров всегда запрашивать у сервера, изменилось ли что-то для контента, который браузер уже кэшировал, даже если он знает, что кеш все еще должен быть действующим. Затем запрос будет включать заголовок If-Modified-Since . Если сервер говорит, что он не изменен, то используется кеш. Подобно:

GET /ga.js HTTP/1.1  
Host: www.google-analytics.com  
...  
If-Modified-Since: Mon, 22 Jun 2009 20:00:33 GMT  
Cache-Control: max-age=0  

HTTP/1.x 304 Not Modified  
Last-Modified: Mon, 22 Jun 2009 20:00:33 GMT  
Date: Sun, 26 Jul 2009 12:08:27 GMT  
Cache-Control: max-age=604800, public  
Server: Golfe

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

(Также обратите внимание, что прокси-сервер может выполнять некоторое кэширование. В приведенном выше ответе общедоступный в Cache-Control указывает, что прокси действительно может кэшировать этот конкретный ответ. )

10
ответ дан 2 December 2019 в 00:31
поделиться

Это можно определить со стороны сервера, просто просмотрев журнал обслуживаемых / доставленных запросов на изображения,

4
ответ дан 2 December 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: