asa*_*hez 4 math computer-science analytics download
我有一个托管在 firebase 中的网站,该网站在一天之内完全传播开来。由于我没有预料到,我没有安装任何分析工具。但是,我想知道访问次数或下载次数。我唯一可用的指标是下载的 GB:686,8GB。但我很困惑,因为如果我用 Chrome 的控制台打开网站,我会得到两个关于页面大小的不同指标:传输的 319KB 和 1.2MB 的资源。此外,并非所有这些东西都是从 firebase 传输的,而是从其他 CDN 传输的,如您在屏幕截图中所见。计算我访问次数的正确方法是什么?
真正的分析需要了解如何什么是在网络上。分为三类:
有了这个澄清,你实际上要问的是,“我接待了多少人类访客?” 获取该信息的最简单方法是:
我假设您了解 cookie 是什么以及它与会话 cookie 有何不同。显然,当您登录网站时,您会被分配一个会话。如果该会话 cookie 未在页面请求中发送到服务器,则您实际上将被注销。您可以使会话 cookie 持续很长时间,这将归结为访问者的便利性以及您是否直接计算这些会话或将其与其他内容结合使用等因素。
现在你的下一个想法可能是,“但我如何计算下载量?” 谢天谢地,你在你的网站上提到了 PHP,所以我可以为你提供一些对你有意义的代码。如果您只是直接链接到该文件,那么您将(充其量)通过锚元素上的点击事件来计算点击次数,但如果下载因为错误或其他原因而被取消,则它比我的建议更主观。当然,我的建议仍然是主观的(例如,他们决定他们实际上不想下载并在完成之前取消),当然,如果他们使用下载是另一个需要考虑的方面。话虽如此,如果您希望服务器为您提供下载计数,您需要执行以下操作:
AddType application/x-httpd-php5 .exe .msi .dmg),以便您的服务器知道让 PHP 在请求文件上运行。file_exists()带有绝对文件路径的PHP 。header()因为您应该期望浏览器在猜测方面非常糟糕。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();
Run Code Online (Sandbox Code Playgroud)
为了计算下载量,如果您想花点心思,可以创建几个数据库表。一个用于文件 ( download_files),第二个表用于请求 ( download_requests)。加入基本的 SQL 查询,您就在收集数据。记录 IPv6(在 MySQL 中存储 IPv6 地址),您将能够从查询中辨别出您有多少独特的下载。
回到人类访客:要了解人类和机器人之间的差异需要非常彻底的研究。像 Captcha 这样的东西是垃圾,非常烦人。您可以通过要求在请求时发回 cookie 来获得一个粗略的开始,尽管并非所有机器人都非常愚蠢。我希望这至少能让你走上正确的道路。
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |