web统计数据搜集及分析原理
在现代web应用开发中,数据扮演着越来越重要的角色:通过数据我们能够知道系统哪些地方有待改进,从而迭代开发重新上线,
随后再次通过数据我们来评估新的迭代开发是否满足了我们的预期目标,从而形成了一个数据驱动开发的业务闭环。这个闭环之所以
能够工作,其原因就是我们能够搜集到web应用使用数据,从而能够对这些数据进行分析。
本文就对web行为数据搜集做一个简单探讨。
下面的内容摘自: http://www.admin10000.com/document/1089.html
文章确实不错。

上图是一个类似百度统计,GA工作时网站统计数据收集的基本流程图,介绍如下:
1.浏览器向被统计页面发起http请求打开页面;
2.打开页面时,页面中的GA埋点js片段就会被执行,而这段代码一般来说就是执行一小段js,动态创建一个script标签,并且将其src指向google或者baidu的单独的js文件,而这个js文件本身才是真正的数据收集脚本;
3.将上述动态script标签插入到页面dom中,随后该页面就向baidu/google请求那个js文件,该文件下载后立即执行,该文件往往通过搜集比如操作系统,屏幕尺寸,浏览器名称等信息,随后这个js就会向后端请求访问;
4.但是由于javascript的跨域访问限制,往往在上述3.的步骤中并不会直接通过ajax调用后端服务,而使用了一个小的tip:将收集到的客户端数据放在url参数中,去向后端请求返回伪装1x1px image的后端脚本;
5.后端脚本获取上面的参数,插入数据库中,同时要查看是否已经在客户浏览器中种下cookie(用于标识用户唯一ID),如果有种过,则依然使用它,如果没有,则新创建一个UIDCookie,并且在返回image响应中以set-cookie头关键字返回到客户端浏览器,这样浏览器就创建或者更新自己的cookie,从而对baidu/google用户跟踪打下坚实的基础:(现代需求方广告平台DSP就依赖这些cookie及)


web统计数据搜集及分析原理的更多相关文章
- SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)
本文出处:http://www.cnblogs.com/wy123/p/6008477.html 关于统计信息对数据行数做预估,之前写过对非相关列(单独或者单独的索引列)进行预估时候的算法,参考这里. ...
- Redis数据持久化机制AOF原理分析一---转
http://blog.csdn.net/acceptedxukai/article/details/18136903 http://blog.csdn.net/acceptedxukai/artic ...
- PHP外部调用网站百度统计数据的方法详解
目的:外部调用网站的百度统计(tongji.baidu.com)数据. 条件:1.具备调用目标网站的百度统计平台管理权限 2.PHP环境支持curl函数. 原理:同PHP小偷程序原理,通过curl函数 ...
- web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等)
web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等) 前言 我们在做web系统中,导出也是很常用的一个功能,如果每一个数据列表都要对应写一个导出的方法不太现实 ...
- Python数据描述与分析
在进行数据分析之前,我们需要做的事情是对数据有初步的了解,比如对数据本身的敏感程度,通俗来说就是对数据的分布有大概的理解,此时我们需要工具进行数据的描述,观测数据的形状等:而后才是对数据进行建模分析, ...
- Java web每天学之Servlet工作原理详情解析
上篇文章中我们介绍了Servlet的实现方式以及Servlet的生命周期,我们这篇文章就来介绍一下常用对象. 点击回顾:<Java Web每天学之Servlet的工作原理解析>:<J ...
- 【Matplotlib】数据可视化实例分析
数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...
- 转载:案例用Excel对会员客户交易数据进行RFM分析
案例:用Excel对会员客户交易数据进行RFM分析 背景: 一个会员服务的企业,有近1年约1200个会员客户的收银数据.由于公司想针对不同 ...
- web前后端分离漏洞分析防御
web前后端分离漏洞分析防御 漏洞分析,主要漏洞有 一.跨站脚本攻击XSS 程序 + 数据 = 结果:攻击后,数据夹杂一部分程序(执行代码),导致结果改变: 1.XSS攻击注入点 (a):HTML节点 ...
随机推荐
- jenkins+Publish Over SSH 提示:Transferred 0 file(s)
之前公司用jekins来进行自动化发布,现在公司因没有运维,所以自己学习.并搭建了一个jenkins的环境来进行项目自动化部署. 不料在最后连接ssh后部署时,一直提示Transferred 0 fi ...
- Maven 编译报错
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-t ...
- ORC Files
ORC 全称是Optimized Row Columnar,意思是优化的RC file,优化行列式. ORC 文件格式提供了一个很高效的方式来存储hive数据.它旨在克服其他hive文件格式的限制.当 ...
- vue2.0修饰符sync用法
如果子组件是一个弹窗,我们想通过点击关闭按钮来关闭子组件弹窗,子组件弹窗的v-show由变量isVisible控制,这个变量通过props由父组件来注入, 而子组件无法改变props里面的变量的值,但 ...
- js需要清楚的内存模型
原型 原型重写 原型继承 组合方式实现继承 函数作用域链
- Python基础(3) - 数据类型:4元组类型
Python Tuple 是不可变 list. 一旦创建了一个 tuple 就不能以任何方式改变它.Tuple是用()包括起来的. Tuple与List都是按照定义的顺序进行排序的,索引从0开始,与 ...
- 线上服务器PHP版本编译安装升级全记录
1.将原来的PHP重命名一下 cd /usr/local/bin/ mv php php.2.9 2.安装依赖 yum install gcc gcc-c++ libxml2 libxml2-deve ...
- Linux 上安装Docker 并部署netcor2.1
述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享 ...
- ASP.NET MVC4 新手入门教程之四 ---4.添加一个模型
在本节中,您将添加一些类,用于管理数据库中的电影.这些类将 ASP.NET MVC 应用程序的"模型"部分. 您将使用一种称为实体框架的.NET 框架数据接入技术来定义和使用这些模 ...
- SQL练习(一)
查找今天过生日的同学 这里表中已经存储了生日,所以思路是取出date_birth去今天的日期相比较 SELECT NAME,date_birth FROM org_mhi_studentfiles W ...