下面我们正式开始Cookie的详细介绍:
Cookie是网站存放在客户端的一小段数据。一般的,网站为了提升用户体验,在客户的客户端中保存用户的历史信息,以备用户再次访问时网站能提供更方便,更有针对性的服务。比如,网站可以记住你的登录状态,只要登录一次下次访问就不用在登录;购物网能记住你浏览过的产品,保留你购物车中的物品。这 些都有Cookie的功劳。
Cookie对网站分析又有什么作用?
网站分析是以数据为基础的,而数据的采集需要借助网站分析工具。主流的网站分析工具主要分两种类型:日志型和页面脚本型。这两种类型工具的一个区别就在于对Unique Visitor的区分很判断。当网站有很多次访问的记录的时候,如何判断那些访问来至同一个用户。日志型的分析工具,一般通过访问的来源IP地址进行判 断,通过相同IP地址的访问被认为来至同一个用户。页面脚本型的分析工具,就需要根据Cookie的记录来判断不同的访问是否来至不同的用户。这类的工具会在Cookie中存放用来标识唯一用户的ID,每个浏览器得到的ID都是不同的。用户访问时检查Cookie中的ID,ID相同的访问被认为来至同一个用户,否则,则是不同用户的访问。
Unique Visitor的判断对于网站分析来说非常重要,以致于分析工具在Cookie中存储的其他信息都显得不那么重要了。Unique Visitor并不仅仅是一个Metric,更重要的是,Unique Visitor把跨越多次访问的事件联系在一起。想象一下,一个访客通过一个广告来到网站,在这次访问离开前没有进行任何购买,但有把网站的网址加入到书签。过了几天,这个访客通过点击书签,又访问了我们的网站,最后购买了一些商品。这时,如果没有Unique Visitor来关联,那点击广告和购买商品的行为是没有任何关联的,我们无法知道访客点击的广告为最后的购买所做的贡献。可见,Cookie对网站分析是多么重要,通过Cookie,才能将多次访问中的事件串联起来。
Cookie的技术细节
Cookie是如何工作的?
比如,我们访问一个网站,来到了登录的页面。页面需要我们输入用户名和密码,同时下面有一个选项,叫“保留我的登录状态”,如果输入了用户名,密 码。为了下次在来这个网站,不用再重新输入,我们激活了保留状态的选项。最后点了提交。这时,我们的浏览器就会和网站服务器之间通过HTTP协议进行链 接,提交刚才输入的内容和选择。服务器收到以后,会判断这个用户名密码是否正确,因为我们需要保留状态,就需要设置Cookie来记录状态。那服务器会在返回的HTTP数据包的头部包含SetCookie这个指令来告诉浏览器要保存的Cookie。浏览器收到以后会把这个Cookie加密存储到电脑上。这 个Cookie记录的一般是用户在这个网站的唯一的ID。之后,只要每次访问这个网站(只要还是这个域名),我们的浏览器在请求这个网站服务器数据的时候,都会在HTTP请求数据包的头部增加一条包含Cookie数据的信息,比如这里会告诉服务器:“我是你的用户,我的ID是9527。”那服务器收到这个信息,就不会再提示登录,而我们就已经是登录的状态了。
Cookie的生命周期
Cookie的生命周期有两种,一种是整个会话的,一种是永久的。也就是说,一种是临时性的Cookie,用户关掉浏览器,这个Cookie也就失效了。一种是永久的Cookie,可以持续存在的。一般网站分析工具 判断Unique Visitor使用的是后者。
第一方和第三方Cookie的区别
第一方Cookie和第三方Cookie,都是网站在客户端上存放的一小块数据。他们都由某个域存放,只能被这个域访问。他们的区别其实并不是技术上的区别,而是使用方式上的区别。比如,访问www.a.com这个网站,这个网站设置了一个Cookie,这个Cookie也只能被www.a.com 这个域下的网页读取,这就是第一方Cookie。如果还是访问www.a.com这个网站,网页里有用到www.b.com网站的一张图片,浏览器在向 www.b.com请求图片的时候,www.b.com设置了一个Cookie,那这个Cookie只能被www.b.com这个域访问,反而不能被 www.a.com这个域访问,因为对我们来说,我们实际是在访问www.a.com这个网站被设置了一个www.b.com这个域下的Cookie,所以叫第三方Cookie。
上面这么多看完还没有绕晕的请继续。
第一方Cookie的优势和应用
第一方Cookie的最大优势是接受率高。一般主流的浏览器的都会有隐私的设置,可以让用户设置是否接受Cookie,接受哪些Cookie。除了 完全不接受Cookie这个设置以外,其他情况下,第一方Cookie都是会被用户接受的(不接受的话,是没办法把那小块数据保存下来的)。所以,如果没有特殊要求,使用第一方Cookie会比第三方Cookie,我们通过分析工具得到的数据会更准确。
第三方Cookie的优势和应用
第三方Cookie的接受率不如第一方Cookie(不过主流的浏览器默认的设置下也接受带P3P协议的第三方Cookie,我的经验是接受率能达到90%,甚至95%以上),但在某些特定情况下可以实现第一方Cookie无法实现的功能。比如,当我们有多个域名的网站需要跟踪,我们希望了解到用户 点击某个广告到达域名A下的网页,然后可能浏览了不论那个域名下的页面,最后在域名B下的网页完成注册的情况。广告可以在域名A下的网页被跟踪到,而注册 可以在域名B下的网页跟踪到。如果我们使用第一方Cookie,会为域名A建立一个Cookie,为域名B再建立一个Cookie,他们可以关联各自域名 下网页上的行为,但是无法关联起来。而使用第三方Cookie,那么无论多少个域,都只有一个Cookie,一个属于第三方域的Cookie,网站下所有域都能共享这个Cookie,那么所有的行为都能被关联起来分析。
结论
对于通过脚本型的网站分析工具来获取数据
Cookie是必须的,离开Cookie我们什么也分析不了。
第一方Cookie接受率高,更准确,没有特殊需要就用他。
第三方Cookie可以跨域跟踪,特别需求可以应用。
以下是作者信息,欢迎大家去访问原文。
作者:beanmoon
出处:http://www.cnblogs.com/beanmoon/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
该文章也同时发布在我的独立博客中-豆月博客。