网站分析:服务器日志方法的原理及优缺点(4)
1. 害怕网页缓存(Cache)
为了提高网站页面的载入速度,人们发明了网页缓存(Cache)。在台湾,Cache被翻译作“快取”,似乎兼备了音义。
网页缓存的原理很容易理解,但却是个了不起的发明。在缓存出现之前,人们访问网站每次都需要把网页从网站的服务器传输到客户端的浏览器中,这个速度 当然会有点儿慢,尤其是网络条件不好的时候。于是善动脑筋的人们发现,每次访问的网站其实有很多内容是没有更新的,如果能够把那些不经常更新的部分放在自 己的电脑里面,每次打开网页的时候,首先搜索自己电脑里面已经有的内容,然后再去服务器去寻找那些被更新了的部分,这样服务器传输的数据量就会大大减少 了,整个网页也会被更快地显示出来。
现在,我们大部分人的浏览器都设置了缓存。所以,有时候,你会发现,即使网络没有接通,你访问的网站似乎也能“正常”打开,只不过浏览器会显示“脱 机”状态,告诉你,这些内容不是真正从服务器传输过来的。
除了客户端(浏览器)能够存放缓存的内容外,代理服务器(Proxy)也能够存放网页缓存,目的同样是为了提速。你可以把代理服务器的缓存想象成 CPU的“二级缓存”——当客户端没有存储某个网页的缓存的时候(“一级缓存”没有内容),浏览器就会寻找代理服务器缓存,看看有没有内容。如果还没有, 那才会再去寻找真正存放网页内容的网站服务器。
有了缓存,当你点击浏览器的“回退按钮”的时候,回退的上一个页面就不需要再重新从服务器中下载一次,而是立即就呈现在你的面前。你常用的网站的打 开速度也显著提升了。
可是,对于通过服务器日志来获取网站访问数据的方法而言,这可不是一个好事情。由于缓存的存在,本来应该请求服务器的结果不需要请求了,服务器的日 志什么也不会记录下来,可是对页面的访问却又实实在在的发生了。
所以,缓存的存在会使日志方法低估网站的实际访问量。
2. 害怕Flash等“客户端交互”内容
现在,为了更具冲击力的视觉效果和更丰富的网页互动,运用Flash、加入视频、设计很多互动程序在网页上已经稀疏平常。而这些元素,它们太独立 了,以至于当它们被载入到浏览器端了之后,完全可以在浏览器端运行而不再与服务器发生交互,或者只需要在必要的时候才与服务器发生交互。
比如,你玩儿普通网页版的Flash小游戏,一旦游戏下载完毕,你在玩儿的过程中跟网站服务器就不会有什么联系了,或者你看网页上的视频,你在播放 器上进行的暂停操作,一般也不会跟服务器进行互动。还有,有一些脚本语言编写的网页程序,是在浏览器上被解释执行的,比如用JavaScript实现的网 页Tab标签切换,在页面全部载完后,无论你怎么切换Tab,服务器都感觉不到了。
服务器感觉不到,也就不会存在什么服务器日志记录,也就不会有数据,因此用日志方法是无法准确获取“客户端交互”类型的网站访问行为的。这种情况 下,必须选择其他的数据收集方法。
3. 不精确的访问者记录
日志方法辨别独立访问者需要依靠客户端的IP地址,也只能依靠它。不过,IP地址显然不代表真正的访问者。上班族的整个办公室的IP地址都可能是一 个(使用代理服务器),而这个办公室可能坐着十多个人。这可能使访问者的数量被低估。