服务器端和客户端计数
本文内容
互联网测量的架构,从根本上分成两种彼此不同的做法:从服务器一侧跟踪,和从客户端一侧跟踪。
在此上下文中的“客户端”一词是指在浏览页面的人的计算机或移动设备上运行的网络浏览器软件。了解这两种方法之间的机械差异可以弄清为什么来自不同来源的统计数据不可避免地会出现分歧,以及为什么网络分析的绝对精度在技术上仍然是不可能的。
计数的机制究竟在哪一侧运行,精确地决定了哪一类信息能够被捕捉到,也决定了这套系统天生就会带有哪些盲点。
从浏览器里面计数
客户端计数完全依赖于直接嵌入在网页中的可执行脚本,通常是用JavaScript编写的。加载文档后,浏览器读取此代码并开始主动向中央数据库报告。
因为脚本是直接在阅读的环境里运行的,它能够接触到大量关于行为的信息。它可以探知屏幕的分辨率,精确地监视页面被往下滚动了多远,测量标签页保持活动状态的确切时长,还能跟踪对某些具体按钮的点击。
这种方法构成了现代繁重分析平台的支柱。但是,其操作严格依赖于浏览器允许运行脚本。
从外面计数
与之相反,服务器一侧的测量完全发生在阅读的环境之外。这种办法依靠的,是浏览器为了取回构成这个网页的那些文件而发出的基本请求。
当一个简单的图片计数器被嵌进页面时,浏览器会向计数的服务器请求那张图形。服务器把这一次请求记下来,把总数加一,然后把图片送出去。
服务器从不在阅读用的设备上执行任何代码,对图片送达之后发生的事也完全看不见。它对滚动的深度或者屏幕的大小一无所知,只盯着一个无可辩驳的技术事实:某个特定的文件,在某个特定的时刻被请求过。
拦截器拿走了什么
对浏览器的依赖使得客户端跟踪非常容易受到外部干扰。隐私扩展程序、广告拦截器和严格的浏览器安全设置通常会阻止跟踪脚本执行。
发生这种情况时,分析平台完全收不到任何信号,从而完全错过这次到达。然而,如果不破坏页面的视觉布局,服务器端的图像请求就更难被拦截。
只要浏览器还在试着把页面上的图片显示出来,请求就会发出去,这一次访问也就被记下来了。正是这种在脆弱性上的根本差别,解释了为什么服务器一侧的计数往往比基于脚本的同类报出更高、也更稳的基准数字。
哪一种回答哪一个问题
认识到这些架构差异对于正确解释网络统计数据至关重要。这两种方法都无法完美反映现实。
客户端的脚本能给出深入的行为洞察,但因为隐私拦截器的缘故,它经常漏掉相当大一部分读者。服务器一侧的计数保证了一条关于文件请求的高度可靠的基准线,却完全不提供任何关于后续互动或者阅读时长的信息。
选哪一种办法合适,完全取决于实际需要的是什么信息。对于那些需要一份可靠的覆盖范围概览、又不想要侵入式行为监控的独立站点来说,服务器一侧那个请求的朴素而结实的简单,至今仍是最佳的技术选择。