Подтвердить что ты не робот

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

Как проверить, находятся ли изображения из кеша или с сервера. Поскольку моя домашняя страница содержит 45 изображений. Когда я нажимаю F5, хочу знать, находятся ли изображения из кеша или с сервера.

Я добавил <%@ OutputCache Duration='120' Location='Client' VaryByParam='none' %>

4b9b3361

Ответ 1

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

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

  • В Safari есть меню разработчика, которое можно включить с помощью настроек. Здесь вкладка Ресурсы в Web Inspector покажет 0 мс, если что-то загрузится из кеша. Просмотрев детали, вы увидите, что заголовок запроса отсутствует в этих случаях (хотя старый заголовок ответа все еще можно просмотреть).
  • Используя Firefox с надстройкой Live HTTP Headers, вы точно укажете, что запрашивается с сервера. Если он не запрашивается, он загружается из кеша. (В этом случае ничего не запрашивается, даже не используя заголовок If-Modified-Since.)
  • Firefox с установленным дополнением Firebug дает вкладку Net, но когда это будет включено, 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

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

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

Ответ 2

Вы можете определить это с конца сервера, просто просмотрев журнал обслуживаемых/доставленных запросов для изображений,