文档章节

(转)什么是“第一方Cookie”、“第三方Cookie”

吐槽的达达仔
 吐槽的达达仔
发布于 2014/12/05 22:18
字数 2146
阅读 10
收藏 0

在了解什么是“第一方Cookies”、“第三方Cookies”之前,我们应该先了解一下,什么叫Cookie?

 

什么叫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”,指的是来自当前访问网站以外的站点,最常见的就是那些在被访问站点放置广告的第三方站点,这第三方站点可能正在使用Cookie;所谓“会话Cookie”,就是当前浏览时存储的一些信息,在关闭IE的同时,这些Cookie也同时被删除,它一般没什么危害。

第一方和第三方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的,现在的门户网站,等其他网站里面都是前套着不同的域加载而形成的数据。

但是记录数据的时候,会同时产生多条记录,一个网站下,每一个域一条记录。这样就需要清洗数据了。

网站分析是以数据为基础的,而数据的采集需要借助网站 分析工具。主流的网站分析工具主要分两种类型:日志型和页面脚本型。这两种类型工具的一个区别就在于对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我们什么也分析不了。
第一方Cookie接受率高,更准确,没有特殊需要就用他。
第三方Cookie可以跨域跟踪,特别需求可以应用。

本文转载自:http://dacoolbaby.iteye.com/blog/1883741

上一篇: 图解FPGrowth 算法
下一篇: Oracle 数组类型
吐槽的达达仔
粉丝 27
博文 103
码字总数 6775
作品 0
广州
程序员
私信 提问
IE8浏览器无法保存Cookie的解决方法

使用IE8浏览器经常出现了无法保存Cookie的故障。每次打开网站需要重新登录,登录之后刷新页面也要重新登录,这给用户带来了麻烦。这主要是IE8的默认Cookie设 置有问题,禁止了Cookie。 我们可...

红薯
2010/01/27
4.8K
2
使用 P3P 轨范让 IE 跨域接受第三方 cookie(转)

使用 P3P 规范让 IE 跨域接受第三方 cookie(转) 使用 P3P 规范让 IE 跨域接受第三方 cookie 原文:http://blog.csdn.net/cuihaiyang/article/details/8106651 前两天尝试使用 jsonp 跨域提交...

chenzy526
2017/05/19
0
0
Firefox 引入了 Tor 浏览器功能:第一方隔离

Mozilla 最近在 Firefox 浏览器中增加了一项隐私增强保护功能,帮助阻止在线广告商的跨网站跟踪。这一功能叫第一方隔离(First-Party Isolation),源自 Tor 浏览器。Tor 浏览器是基于 Firefo...

周其
2017/11/22
3.6K
11
IE iframe cookie问题(p3p)

前段时间碰到一个问题,就是在IE下,使用iFrame嵌入页面时,该页面的会话级别的cookie无法写入,导致服务端始终无法获取JSESSIONID,每次都是产生一个新的,使得Session无法使用。 只需要设置...

疯狂的艺术家
2012/03/14
3.4K
0
【基本功】 前端安全系列之二:如何防止 CSRF 攻击?

本文转自美团技术团队(订阅号id:meituantech),经平台同意授权转载。 背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点。...

Qunar技术沙龙
2018/10/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部