Почему кэшированное изображение не учитывается
В этой статье
Частым источником путаницы в отношении статистики веб-сайтов является концепция локального хранения файлов, обычно называемая кэшем браузера. Веб-браузеры разработаны для обеспечения максимальной эффективности и скорости.
Когда страница посещается в первый раз, браузер загружает все необходимые тексты, макеты и графику. Чтобы предотвратить трату времени и сетевых ресурсов при последующих посещениях, он сохраняет копии этих статических файлов на локальном жестком диске.
Если точно такая же страница открывается снова вскоре после этого, браузер извлекает графику непосредственно из этого локального хранилища вместо того, чтобы просить у удаленного сервера новую копию. Этот процесс резко сокращает время загрузки, но напрямую влияет на то, как работают внешние инструменты измерения.
Визит, которого сервер не видит
Механизм подсчета на основе изображений полностью зависит от получения запроса сервером. Если браузер решает, что локально сохраненная копия графики все еще совершенно действительна, он никогда не отправляет сообщение через Интернет.
С точки зрения сервера, второго посещения просто не было. Следовательно, внутренние номера в базе данных не обновляются, и графика на экране продолжает показывать предыдущее значение.
Такое поведение часто приводит к ошибочному убеждению, что инструмент сломан, особенно на этапах тестирования, когда страница перезагружается несколько раз в быстрой последовательности. Отсутствие обновленного номера — это не сбой системы, а скорее признак того, что браузер работает точно так, как задумано, для экономии данных.
Указание, которое едет вместе с файлом
Чтобы управлять этим поведением, серверы могут прикреплять определенные инструкции к доставляемым ими файлам. Эти инструкции, известные как заголовки кэша, точно сообщают получающему браузеру, как долго следует хранить файл и когда необходимо запросить свежую копию. Фотография в галерее может сопровождаться инструкциями, разрешающими хранить ее целый год.
Однако динамическая графика, отображающая постоянно меняющееся число, требует совершенно иных правил. Сервер, генерирующий графику, должен явно дать указание браузеру никогда не сохранять изображение или, по крайней мере, проверять его свежесть на сервере при каждом просмотре страницы.
Точность против нагрузки
Выполнение этих строгих правил обеспечивает гораздо более высокую степень точности, поскольку это заставляет браузер объявлять о присутствии каждый раз, когда открывается страница. Однако полное отключение кэша для графики измерения также означает, что сервер должен обрабатывать значительно больший объем запросов.
Он должен выделять вычислительную мощность на перерисовку изображения для каждой отдельной перезагрузки, даже если число изменилось всего на единицу.
Нахождение правильного баланса между точной записью и разумным управлением ресурсами является основной задачей при эксплуатации такой службы. Иногда небольшая задержка в обновлении видимого числа является оправданным компромиссом для поддержания быстрой и отзывчивой общей инфраструктуры, гарантируя, что содержимое главной страницы никогда не задерживается.
Почему перезагрузка ничего не доказывает
Понимание роли локального хранилища объясняет, почему повторная ручная перезагрузка является плохим методом проверки точности инструмента измерения.
Если цифры отказываются расти после пятикратного нажатия кнопки перезагрузки, наиболее вероятное объяснение заключается в том, что браузер просто повторно использует графику, загруженную в первый раз. Открытие совершенно другого браузера или использование отдельного устройства в другом сетевом подключении полностью обходит локальное хранилище и вызывает новый запрос.
Этот подход дает гораздо более четкое представление о том, правильно ли сервер регистрирует вновь прибывших и генерирует обновленную графику.