Рассчитать количество посещений на основе загруженного ГБ - PullRequest
4 голосов
/ 18 марта 2020

У меня есть веб-сайт, размещенный на базе Firebase, который за один день стал вирусным. Так как я не ожидал этого, я не установил никакой аналитический инструмент. Тем не менее, я хотел бы знать количество посещений или загрузок. Единственный доступный мне метри c - это ГБ. Скачано: 686,8 ГБ. Но я запутался, потому что если я открою веб-сайт с консолью Chrome, я получу две разные метрики о размере страницы: 319 КБ и 1,2 МБ ресурсов. Кроме того, не все эти вещи перенесены из Firebase, но из других CDN, как вы можете видеть на скриншотах. Как правильно рассчитать количество посещений?

chrome browser console firebase screenshot

1 Ответ

5 голосов
/ 27 марта 2020
  • Переданный показатель c - это объем используемой полосы пропускания после применения сжатия.
  • Ресурсный показатель c - это объем дискового пространства, который эти ресурсы используют до сжатия (для передачи).

Настоящая аналитика требует понимания того, как что такое в сети. Существует три классификации:

  • Люди, состоящие из fle sh и крови, и в подавляющем большинстве (хотя и не совсем) используют веб-браузеры.
  • Пауки (или поисковые системы), которые запрашивают страницы с понятием, что они подчиняются robots.txt и будут перечислять ваш веб-сайт на своих веб-сайтах для соответствующих поисковых запросов.
  • Отклоняет (в основном спаммеры и неизвестные), которые включают (хотя и не ограничиваются ими) сборщики содержимого / электронной почты. , переборщики паролей, сканеры уязвимостей и спамеры POST.

С этим разъяснением на самом деле вы спрашиваете: «Сколько посетителей-людей я получаю?» Самый простой способ получить эту информацию - это:

  1. Определить, какие запросы пользовательских агентов выполняются человеком (не просто, основано на поведении).
  2. Определить продолжительность времени одного посещения от человек должен считаться как.
  3. Назначить посетителям сеанс.

Полагаю, вы понимаете, что такое повар ie и чем он отличается от сеансового повара ie. Очевидно, что при входе на веб-сайт назначается сеанс. Если этот сеансовый повар ie не будет отправлен на сервер по запросу страницы, вы фактически выйдете из системы. Вы можете сохранять сеансовые куки-файлы в течение длительного времени, и это будет зависеть от таких факторов, как удобство для посетителя, и если вы будете непосредственно считать эти сеансы или использовать их вместе с чем-то другим.

Теперь ваша следующая мысль вероятна это "Но как я считаю загрузки?" К счастью, вы упомянули PHP на своем веб-сайте, поэтому я, к счастью, могу дать вам некоторый код, который должен иметь смысл для вас. Если вы просто сделаете ссылку непосредственно на файл, вы застрянете (в лучшем случае), считая клики через событие click на элементе привязки, хотя, если загрузка отменяется, потому что это была ошибка или что-то еще, это делает его более субъективным, чем мое предложение. Конечно, мое предложение все еще может быть субъективным (например, они решают, что на самом деле не хотят загружать и отменять до завершения), и, конечно, если они используют загрузку, это еще один аспект для рассмотрения. При этом, если вы хотите, чтобы сервер подсчитывал количество загрузок, вам нужно сделать следующее:

  1. Возможно, вы захотите использовать Apache rewrite (или любой другой HTTP-сервер). эквиваленты), так что PHP обрабатывает загрузку.
  2. Возможно, вам потребуется убедиться, что Apache имеет правильную обработку для PHP (например, AddType application/x-httpd-php5 .exe .msi .dmg), чтобы ваш сервер знал, разрешить PHP запустите файл запроса.
  3. Вы захотите использовать PHP file_exists() с абсолютным путем к файлу на сервере для безопасности.
  4. Вы хотите убедиться, что вы установили правильный mime для файла с помощью PHP header(), так как вы должны ожидать, что браузеры будут ужасно угадывать.
  5. Вам абсолютно необходимо использовать die() или exit(), чтобы избежать ошибок Gecko (Firefox) в случае утечки программного обеспечения даже из пробелов, так как браузер интерпретирует его как часть файла, который может вызвать повреждение.

Вот код для PHP само по себе:

$p = explode('/',strrev($_SERVER['REQUEST_URI']));
$file = strrev($p[0]);
header('HTTP/1.1 200');
header('Content-Type: '.$mime);
echo file_get_contents($path_absolute.$file);
die();

Для подсчета загрузок, если вы хотите получить Вы можете создать пару таблиц базы данных. Одна для файлов (download_files) и вторая таблица для запросов (download_requests). Добавьте базовые c SQL запросы, и вы собираете данные. Запишите IPv6 ( Хранение адресов IPv6 в MySQL), и по запросу вы сможете определить, сколько уникальных загрузок у вас есть.

Назад к человеку Посетители: требуется очень тщательное изучение, чтобы понять различия между людьми и ботами. Такие вещи, как капча, являются мусором и очень раздражают. Вы можете получить грубое начало, потребовав, чтобы повар ie был отправлен обратно на запросы, хотя не все боты до смешного глупы. Я надеюсь, что это, по крайней мере, приведет вас на правильный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...