cookie 以及百度统计,google analytics对cookie的使用

来源:互联网 发布:统计软件spss下载 编辑:程序博客网 时间:2024/06/04 19:57

1.cookie的定义,及与session的区别

cookie 注意是指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密),而session是存储在服务器端区分用户的。原因都在于http是无状态协议,所以服务器端为了区分用户身份,采用客户端和服务器端两种记录方式,cookie是一种比session更长久存储方式。可以理解为当用户访问网站时,服务器端生成对应的会话ID,这个ID就是sessionID,而客户端可以将这个ID长期存储或者按时间存储,这样就有了cookie的概念,以后每次请求都会用这个ID发送到服务器端。如果客户端禁止了cookie怎么办?其实可以通过一种变通的方法,那就是每次请求的时候在服务器URL上加上对应的参数,如sid=xxx来识别用户。

2.cookie的构成

正常的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器,看下截图:
从截图也可以看出,一个cookie包含名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。

3.第一方cookie和第三方cookie的解释

第一方cookie指用户当前浏览的网站的cooKie,第三方cookie一般是通过JavaScript方式实现的,安全级别没有第一方cooKie高,如何设置第一方cookie和第三方cookie呢?要知道http请求仅能更改和读取当前域下的cookie,而通过加载第三方js则可以读取和设置第一方cookie和第三方cookie的。比如当我们打开xxx.com网站发起http请求时,只会携带xxx.com下的cookie,这个cookie也就是第一方cookie.网站嵌入的js中的某些第三方http请求,则只能携带第三方服务域下的cookie,这个就是第三方cookie。

4.如何监控网站访问数据

第三方监控主要是提供一段js,开发者,也就是待监控的网站人员将特定的js片段引入到自己的网站页面上。当用户访问该网站时,web浏览器会发送至少两个请求。一个是访问网站的URL,这里携带的是该网站下的域的cookie信息。另一个请求是由第三方URL发起的,携带的是第三方域下的cookie以及第一方cookie信息(为什么可以获取第一方cookie呢?因为该js片段是在第一方网页上的,所以是可以获取的)网站分析都喜欢用第三方cookie,因为第三方cookie可以监控垮网站,也就是垮域的访问信息,例如你打开了多个网站,而多个网站都有投放广告的监控代码,都用的是一个分析提供方,那么对于提供方来说就可以知晓你的所有浏览行为,而第一方cooKie,只能得知当前域下的浏览行为。但是由于牵涉到隐私问题,多数浏览器对于第三方cookie还是禁用的。

5.百度统计对cookie的使用

百度统计是用的第一方cookie+第三方cookie的方式收集信息的。
名称用途有效期类型HMACCOUNTVisitor Identifier,全局唯一永久第三方Cookie,hm.baidu.com域Hm_lvt_siteid

记录访客当前访问序列的开始时间,如果没有设置这个cookie,则访客为新访客。当本次访问是一个新的访问开始时,更新该cookie为当前时间。

1年第一方CookieHm_lpvt_siteid当前浏览页面时的时间,每次浏览时设置该cookie为当前时间。Session第一方Cookie

在百度统计中,以下三条任意一个条件成立,则认为是一个新访次。

  • 流量来源(referer)为非本站
  • Hm_lpvt_siteid为空
  • 服务器端进行计算,一个visit超过30分钟没有流量,结束当前访次


6.google analytics 对cookie的使用

GA用的是第一方cookie,因此GA经常提起的监控不作恶的原因。

在默认的配置和使用情况下,Google Analytics(分析)仅会设置表中的4 个 Cookie。(详见:http://code.google.com/intl/zh-CN/apis/analytics/docs/concepts/gaConceptsCookies.html

名称用途有效期类型__utmaVisitor Identifier2 年第一方Cookie__utmbVisit(Session) Identifier30 分钟第一方Cookie__utmcVisit(Session) IdentifierSession第一方Cookie__utmzCampaign Values6 个月第一方Cookie

如果访客在网站上处于非活动状态的时间超过30 分钟(__utmb失效),或者退出了浏览器(__utmc失效),那么这次Visit将结束。无论缺少__utmb或__utmc,GA都会确定开始新的Visit。GA允许你使用 _setSessionCookieTimeout() 方法自定义默认会话时间的长度。

GA Cookie详情:

(1)__utma ,Visitor识别Cookie

    通常来说“Time of initial”<“Beginning of previous session”<“Beginning of current session”,但由于这三个时间戳都是由客户端javascript计算得到的,所以三个值并没有严格的顺序关系,在访客操作系统时间出现误差时,有可能出现“Beginning of previous session”>“Beginning of current session”的情况。因此“Time of initial”、“Beginning of previous session”、“Beginning of current session”这三个跟访问相关的时间戳在GA服务器端统计时,只是作为visit unique id使用,并没有统计时间上意义。

   Session counter就像它的名字一样就是用来计数的,记录当前访客访问此网站的次数。

(2)__utmb && __utmc,Visit识别Cookie

     以上是早些__utmb 和 __utmc的值,非常简单只有Domain Hash的值。从最新GA的Cookie来看__utmb已经有所变化。

     如上图,最新的__utmb包含domain_hash.current_session_pageviews.unknown.current_session_inittime。第三个字段暂时不知道
是什么意思,在我的Firefox和Opera浏览器始终是10,你是知情人的话,请留言,谢谢。

(3)__utmz,来源识别Cookie(Google官方称之为Campaign Values)

       __utmz主要是用于记录访客流量来源数据。GA在访客回访时,会根据前后两次的来源决定Visit的“来源归属”。Visit来源归属决策遵循以下规则:

  • 投放活动永远能覆盖别的渠道
  • 自然搜索永远能覆盖别的渠道
  • 推介网站永远能覆盖别的渠道
  • 直接输入永远覆盖不了别的渠道


ref:http://blog.csdn.net/alexdream/article/details/7642626
原创粉丝点击