Google的界面中很早就已经加入了基于鼠标事件的用户点击系统,比如这样一个搜索结果的标题链接:
Geeklog - AnonymousCVS Access
在这个链接的点击过程中,会触发一个鼠标事件:通过clk函数,会讲当前URL的目标链接地址和这个链接的排位发送到统计服务器上,这个请求是向页面中增加一个图片对象,从而向统计服务器发出一个图片HTTP请求实现的,在向统计服务器发出请求的时候,通过JAVASCRIPT讲一些预先设置好的参数传向统计图片服务器。
会将当前结果的位置:第15条
当前结果的目标地址:本链接对象
传递给图片服务器,从而产生一个URL请求,而浏览器还会将当前的URL做为referer传递给图片服务器,从而图片服务器上还可以进行但前关键词和搜索条件的统计。
function clk(n,el) {if(document.images){(new Image()).src="http://www.admin5.com/url?sa=T&start="+n+"&url="+escape(el.href);}return
true;}
Google通过用户的点击获得了各种位置URL的点击率统计,从而有可能进行基于用户点击统计反馈的排名调整或者是一种不定期的算法改进质量跟踪。我看到的最早的相关Google的鼠标事件跟踪的讨论从去年(2003)4月份就出现过
和传统的基于转向服务器的点击统计方式的比较
基于转向服务器的统计:
[User Click] ==> [redirect.example.com] ==> [target.site]
Google的用户点击统计方式:
[User Click] ===> [target.site] + [image url request for stats]
Google这种方式有以下用户感受方面的优点:
1 速度优势:不通过转向服务器,点击统计和目标网站的打开是同时并发产生的,这样就比转向服务器快,而且隐蔽;
2 用户感受优势:对于点击过的链接,按照HTML的规范,会显示成棕色,这样用户就比较容易从搜索结果中区别那些是以前点击过的内容,那些是没有点击过的内容,但是基于转向服务器的统计由于需要很多签名的校验,因此经常无法固定URL,这样在一个以前搜索过的搜索结果页面中,用户可能无法直接通过页面分别那些是点击过的链接,那些不是。