根据情况,“正确”的答案有所不同; 主要取决于最受欢迎的统计数据和收集和处理它们的资源可用性:
例如:
服务器端
原始Web服务器日志
所有Web服务器都具有某种记录请求的功能。但是,它们的问题在于需要大量处理才能获得有意义的数据,并且对于您的示例场景,它们不会记录应用程序特定的详细信息,例如请求是否与注册用户相关。
这个选项不能满足你的需求。
基于文件的应用程序日志
应用程序员可以为应用程序应用定制代码以将您最感兴趣的内容记录到日志文件中。这类似于Web服务器日志,但它可以对应用程序进行感知并记录诸如发出请求的成员之类的信息。
程序员还可能需要构建提取所需信息的脚本。此选项可能适用于高流量站点,具有大量磁盘空间和了解如何确保在发生问题之前从生产服务器中轮换和修剪日志的系统管理员。
基于数据库的应用程序日志
应用程序员可以为应用程序编写自定义代码,以在数据库中记录每个请求。这使得运行报告相对容易,并使数据立即可用。该解决方案每次请求时会产生更多系统开销,因此更适用于流量较少的站点或高度重视数据的情况。
客户端
Javascript 回发
这是以上选项的一种考虑因素。Google分析就是这样做的。
每个页面都包括一些JavaScript代码,告诉客户端向Web服务器报告页面已查看。数据可以记录在数据库中或写入文件中。
在客户端和服务器之间存在重缓存/代理的情况下,具有提高准确性的强大优势。
Cookies
每次接收到未携带 cookie 的请求时,您会认为它是新的并记录该访问作为 '匿名' 访问,然后在用户登录后返回一个唯一标识符的 cookie。这取决于您的应用程序,以确定其准确性。某些应用程序不适合缓存,因此准确度将相当高;而其他高流量的应用程序则鼓励缓存,这将降低准确性。显然,除非他们在切换浏览器/位置时重新进行身份验证,否则它没有太大用处。
对您最重要的问题是什么?那么问题就来了,哪些统计数据对您最重要。例如,在某些情况下,您可能想知道:
- 页面被查看的总次数
- 已知用户查看页面的次数
- 已知用户中有多少人查看了特定页面
然后,您通常需要按时间段进行分解以查看趋势。分别是:我们是否从随机访客那里获得更多的页面访问量?还是我们从注册用户那里获得更多的页面访问量?或者几乎所有可能查看该页面的人都已经看过了吗?
回到您的问题:关于“用户访问页面时印象数量”的最佳做法是什么?这取决于您的应用程序。我猜您最好使用基于数据库的应用程序来记录对您的应用程序最有趣的内容,并使用 cookie 跟踪会员的会话。