如果你问我什么情况下选择用网站服务器日志来进行网站分析,我建议你如非必须,那么还是寻找一些更容易的方法能够事半功倍。看看后面的内容,你就能知道我为什么这么说。
2. 用网站服务器日志进行网站分析的优点
尽管是个技术活,但是利用网站服务器日志进行网站分析还是有不少好处的。
1. 网站服务器的日志是被你完全掌控的数据。
所谓放在自己手心最放心,这些日志在你的服务器中,如果不是黑客入侵,数据不可能被你不希望的人获取。而且,只要你不删除,它们永远都在那里,在任何时候你都可以回溯历史数据,无论这些数据有多么久远。有朝一日,你的网站大获成功,这些日志也是一份奋斗历史的见证。
2. 能够记录机器人/自动程序对网站的访问。
其次,前面讲过,网站服务器的日志是记录网站服务器行为的,因此任何服务器响应的请求都会被记录下来。这些响应可能是应答用户发出的请求,也完全可能是应答一些互联网上自动程序发出的请求。最常见的一种互联网上的自动程序是搜索引擎的机器人,例如Google的Googlebot,这意味着网站服务器日志能够用来分析搜索引擎的访问,并帮助我们优化搜索引擎对网站的访问。讲到这里,请大家注意,并不是每一种网站分析方法都能做到这一点,我们最常用的为网站页面加入标签的方法是不能获取搜索引擎流量的。
3. 终端无关
网站服务器的日志能够记录网站服务器全部响应行为的特点还延伸出另外一个优点,那就是无论是何种终端访问服务器,都能把相关数据记录下来。现在,能够访问网站的终端越来越多了,我无聊的时候也试着用Sony的PSP上网,用手机的GPRS也能轻松的浏览网页,这些形形色色的终端的访问,服务器日志都会忠实的记录,但页面加入标签的方法就可能完全行不通。
4. 能够探知文件是否完全下载
日志方法的另一个好处是能够记录文件下载的情况。如果你在网上下载一个MP3音乐,你在发出这个响应的时候,日志会记录一个状态;你在下载完全的时候,日志照样会记录一个状态;如果你没有下载完全,日志还是会记录下来。这个,我想对那些提供下载服务的网站很有用。
5. 数据获取不依赖于第三方
通过日志获取数据本身不需要额外的第三方的帮助。只要你的服务器在运转,日志就会源源不断的被创建、保存。不过,请注意,这里我所指的是数据的获取不需要额外的支持,但是数据的分析一般而言,还是需要第三方的帮助的。直接去用肉眼读日志文件中的数据进行分析是不可想象的。
6. 不怕防火墙
最后,日志方法不惧怕防火墙或客户端安全软件的屏蔽,因为数据都是从服务器端获取的。
看起来似乎不错,不过凡事有利有弊,日志方法也肯定有它不能克服的不足。
3. 用网站服务器日志方法进行网站分析的缺点
日志方法能够起到作用的前提是服务器要响应来自客户端的请求,如果客户端的请求不通过服务器就得到了响应(这其实是经常发生的),那么服务器日志法就无能为力了。
1. 害怕网页缓存?ache)
为了提高网站页面的载入速度,人们发明了网页缓存?ache)。在台湾,Cache被翻译作“快取”,似乎兼备了音义。
网页缓存的原理很容易理解,但却是个了不起的发明。在缓存出现之前,人们访问网站每次都需要把网页从网站的服务器传输到客户端的浏览器中,这个速度当然会有点儿慢,尤其是网络条件不好的时候。于是善动脑筋的人们发现,每次访问的网站其实有很多内容是没有更新的,如果能够把那些不经常更新的部分放在自己的电脑里面,每次打开网页的时候,首先搜索自己电脑里面已经有的内容,然后再去服务器去寻找那些被更新了的部分,这样服务器传输的数据量就会大大减少了,整个网页也会被更快地显示出来。
现在,我们大部分人的浏览器都设置了缓存。所以,有时候,你会发现,即使网络没有接通,你访问的网站似乎也能“正常”打开,只不过浏览器会显示“脱机”状态,告诉你,这些内容不是真正从服务器传输过来的。
除了客户端(浏览器)能够存放缓存的内容外,代理服务器(Proxy)也能够存放网页缓存,目的同样是为了提速。你可以把代理服务器的缓存想象成CPU的“二级缓存”――当客户端没有存储某个网页的缓存的时候(“一级缓存”没有内容),浏览器就会寻找代理服务器缓存,看看有没有内容。如果还没有,那才会再去寻找真正存放网页内容的网站服务器。
有了缓存,当你点击浏览器的“回退按钮”的时候,回退的上一个页面就不需要再重新从服务器中下载一次,而是立即就呈现在你的面前。你常用的网站的打开速度也显著提升了。
可是,对于通过服务器日志来获取网站访问数据的方法而言,这可不是一个好事情。由于缓存的存在,本来应该请求服务器的结果不需要请求了,服务器的日志什么也不会记录下来,可是对页面的访问却又实实在在的发生了。
所以,缓存的存在会使日志方法低估网站的实际访问量。
2. 害怕Flash等“客户端交互”内容
现在,为了更具冲击力的视觉效果和更丰富的网页互动,运用Flash、加入视频、设计很多互动程序在网页上已经稀疏平常。而这些元素,它们太独立了,以至于当它们被载入到浏览器端了之后,完全可以在浏览器端运行而不再与服务器发生交互,或者只需要在必要的时候才与服务器发生交互。
比如,你玩儿普通网页版的Flash小游戏,一旦游戏下载完毕,你在玩儿的过程中跟网站服务器就不会有什么联系了,或者你看网页上的视频,你在播放器上进行的暂停操作,一般也不会跟服务器进行互动。还有,有一些脚本语言编写的网页程序,是在浏览器上被解释执行的,比如用JavaScript实现的网页Tab标签切换,在页面全部载完后,无论你怎么切换Tab,服务器都感觉不到了。
服务器感觉不到,也就不会存在什么服务器日志记录,也就不会有数据,因此用日志方法是无法准确获取“客户端交互”类型的网站访问行为的。这种情况下,必须选择其他的数据收集方法。
原文转自:http://blogread.cn/it/article/1891?f=wb