360 怎样用 1px 的图片做数据统计

这不是我旁边的哥们写的统计系统吗?哈哈哈。这个图片请求会带上各种信息,按照图片后缀名生成对应的数据报表。此方法更试用与页面小规模统计,比如一种情况的统计一个按钮的统计pv.uv统计和客户端统计。不适合导航页面热点图这样超大统计打点需求,那种需求可以查看导航统计源码。
■网友
说一下Google Analytics without Javascript(简称 NoJSStats)工具,也是用图片统计,原理都是一样的。本答案精简自http://webdataanalysis.net/data-collection-and-preprocessing/nojs-data-statistics/目前主流的网站分析工具都是通过JavaScript来实现数据的获取的,如Google Analytics就是通过在网页中嵌入一段JS代码,当该网页被浏览时,JS代码被加载,就会向Google Analytics的数据收集服务器发送用户浏览该网页的相应数据,包括时间、IP、页面URL、Session、Cookie等信息,Google Analytics后台通过处理和计算这些收集到的数据,将每天的网站统计结果展示在WEB报表上。但是不是所有的页面都支持JS的!NoJSStats的实现机制就是网站分析中点击流数据获取的方式之一——Web Beacons,即在页面中嵌入一个1像素的透明图片,当该页面被浏览时,图片就会被请求加载,于是在后端的服务器日志中就会记录该图片的请求日志,这样就可以获得如下的日志记录:
【360 怎样用 1px 的图片做数据统计】 60.216.235.23 – - “GET /wp-content/themes/cordobo-green-park-2/img/logo.png HTTP/1.1″ 200 35715 “http://xxx.com” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; TheWorld)”
请求类型是GET,请求的资源就是该图片的URI,而后面的referrer中记录了URL,即用户浏览的页面,只要统计出现这类图片请求的日志记录就能获得嵌入图片的各页面被浏览的情况,Web Beacons就是通过这种方式来获取用户的浏览数据的。需要注意的是,Web Beacons方式是无法获取浏览的来源页面信息的,除非在图片的URI请求中带上referrer的参数,类似.gif?ref=Google。

■网友
原理就是浏览器在请求任何资源的时候会发送当前系统的数据,比如浏览器信息,操作系统信息,作为http请求头送过去,他们就能统计了。360 怎样用 1px 的图片做数据统计

最下面的User-Agent里面就是用户环境的信息。
■网友
EDM的tracking基本都是这种方法做的
■网友
至于不是所有浏览器都支持js的问题, 可以通过服务器端去解决。 (比如 uc 浏览器比较坑爹的就是极速模式禁止了js)。在服务端生成页面的时候, 就去获取各种客户端参数,然后去创建一个链接,放到页面上的 \u0026lt;noscript\u0026gt;标签中, 作为一个外链 css/img 等来发送,这样能记录一个进入信息。


    推荐阅读