在现代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统计数据搜集及分析原理的更多相关文章

  1. SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)

    本文出处:http://www.cnblogs.com/wy123/p/6008477.html 关于统计信息对数据行数做预估,之前写过对非相关列(单独或者单独的索引列)进行预估时候的算法,参考这里. ...

  2. Redis数据持久化机制AOF原理分析一---转

    http://blog.csdn.net/acceptedxukai/article/details/18136903 http://blog.csdn.net/acceptedxukai/artic ...

  3. PHP外部调用网站百度统计数据的方法详解

    目的:外部调用网站的百度统计(tongji.baidu.com)数据. 条件:1.具备调用目标网站的百度统计平台管理权限 2.PHP环境支持curl函数. 原理:同PHP小偷程序原理,通过curl函数 ...

  4. web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等)

    web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等) 前言 我们在做web系统中,导出也是很常用的一个功能,如果每一个数据列表都要对应写一个导出的方法不太现实 ...

  5. Python数据描述与分析

    在进行数据分析之前,我们需要做的事情是对数据有初步的了解,比如对数据本身的敏感程度,通俗来说就是对数据的分布有大概的理解,此时我们需要工具进行数据的描述,观测数据的形状等:而后才是对数据进行建模分析, ...

  6. Java web每天学之Servlet工作原理详情解析

    上篇文章中我们介绍了Servlet的实现方式以及Servlet的生命周期,我们这篇文章就来介绍一下常用对象. 点击回顾:<Java Web每天学之Servlet的工作原理解析>:<J ...

  7. 【Matplotlib】数据可视化实例分析

    数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...

  8. 转载:案例用Excel对会员客户交易数据进行RFM分析

    案例:用Excel对会员客户交易数据进行RFM分析                                背景: 一个会员服务的企业,有近1年约1200个会员客户的收银数据.由于公司想针对不同 ...

  9. web前后端分离漏洞分析防御

    web前后端分离漏洞分析防御 漏洞分析,主要漏洞有 一.跨站脚本攻击XSS 程序 + 数据 = 结果:攻击后,数据夹杂一部分程序(执行代码),导致结果改变: 1.XSS攻击注入点 (a):HTML节点 ...

随机推荐

  1. TypeScript学习小结

    TypeScript是什么 TypeScript是由微软公司开发的一个开源JavaScript的超集,主要提供了类型系统和对ES6的支持,可以编译成纯JavaScript,主要就是对JavaScrip ...

  2. python3 zip压缩

    参考: https://docs.python.org/3/library/zipfile.html https://zhidao.baidu.com/question/149840976436638 ...

  3. 深入理解Java虚拟机 精华总结(面试)

    一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区.虚拟机栈.堆.本地方法栈.程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区. 1.1程序计数器 程 ...

  4. ios UITableView 搜索

    自己实现 UITableView 搜索,相对于使用 UISearchDisplayController 来说自己写稍微麻烦了那么一点点,但是更加灵活.主要就是用一个字段区分出当前是搜索还是非搜索,然后 ...

  5. Git学习系列之Git 的缺点有哪些?

    不多说,直接上干货 前面,谈及了 Git学习系列之Git 的优势有哪些? 缺点: (1)资料少(起码中文资料很少). (2)学习周期相对而言比较长. (3)不符合常规思维. (4)代码保密性差,一旦开 ...

  6. QQ游戏--捕鱼假日竞技港对抗岛自动刷贝壳辅助使用教程和下载地址

    首先解压缩到D盘根目录 再进入buyujiari文件夹双击 然后打开QQ游戏,进入竞技港-->对抗岛,到达开始准备的界面 再打开  辅助.exe 360对按键精灵的一个文件会提示病毒,可不用理会 ...

  7. 在局域网中查找特定设备的 IP

    如何查找特定设备的 IP 有几种方法在局域网中找到某个设备(设为设备 A)的 IP 地址: 在设备 A 上运行一段程序,该程序每隔一段时间向局域网中发送广播包(UDP 广播包),(设备 B)上运行另一 ...

  8. mysql 8 root密码重置

    亲测有效. https://blog.csdn.net/gupao123456/article/details/80766154

  9. jquery 闭包

    jQuery 闭包结构 1 2 3 4 5 6 7 // 用一个函数域包起来,就是所谓的沙箱 // 在这里边 var 定义的变量,属于这个函数域内的局部变量,避免污染全局 // 把当前沙箱需要的外部变 ...

  10. mybatis动态参数(使用PreparedStatement插入#)和静态参数($)

    1.使用#传递参数 #{}:被JDBC解析为PreparedStatement预编译语句,变量内容被当做一个整体变量,比如字符串,整形等. 2.使用$传递参数 ${}:纯粹是字符串替换,中间可以出现S ...