第一方Cookie和第三方Cookie
BAN Cookie!
最近在学习cookie,对这个由服务器发送指令,在客户端(浏览器)上存储小文本数据或者sessionID的数据载体很感兴趣。
因为知道,cookie会记录自己的浏览数据,所以我就把自己浏览器的cookie给禁止了。
我天真的以为,从此以后,再也没有人能访问我的浏览数据了,于是我兴冲冲的打开了百度和博客园,准备给大家介绍介绍我的经验,然后发现,
然后就出现了上图的窘境。。。
百思不得其解,为什么我把浏览器的cookie设置给ban了,我就无法登录我的百度账号和博客园账号了?
后来找度娘问了下,才知道cookie也分类,而且有第一方cookie和第三方cookie之说!
首先我们知道,Cookie 是我们访问过的网站创建的文件,用于存储浏览信息,例如您的网站偏好设置或个人资料信息。
共有两种类型的 Cookie:第一方 Cookie 是由地址栏中列出的网站域设置的 Cookie,而第三方 Cookie 来自在网页上嵌入广告或图片等项的其他域来源。
第一方Cookie和第三方Cookie,都是网站在客户端上存放的一小块数据。他们都由某个域存放,只能被这个域访问。他们的区别其实并不是技术上的区别,而是使用方式上的区别。
比如,访问A这个网站,这个网站设置了一个Cookie,这个Cookie也只能被A这个域下的网页读取,这就是第一方Cookie。如果还是访问A这个网站,网页里有用到B网站(和
A网站的域名是不同的)的一张图片,浏览器在B请求图片的时候,B设置了一个Cookie,那这个Cookie只能被B这个域访问,反而不能被A这个域访问,因为对我们来说,我们实际是在访问A网站时,被设置了一个B这个域下的Cookie,所以叫第三方Cookie。
(你我他;你:A网站,我:浏览器,他:B网站;‘他’ 就是第三方,所以B网站下的cookie是第三方cookie。)
Cookie 同源策略
Cookie中的同源只关注域名,忽略协议和端口。所以https://localhost:8080/
和http://localhost:8081/
的Cookie是共享的。
Cookie如何工作
Cookie通过HTTP Headers从服务器端返回到浏览器上。首先,服务器端在响应中利用Set-Cookie header来创建一个Cookie ,然后,浏览器在它的请求中通过Cookie header包含这个已经创建的Cookie,并且反它返回至服务器,从而完成浏览器的论证。
第一方Cookie的优势和应用
因为如果你禁用第一方 cookies,当你浏览同域名下的网页从一页跳到另一页的时候,网站无法跟踪你的活动,也无法保存我们的用户信息。所以,网站可能会拒绝我们的访问。
第三方Cookie的优势和应用
第三方Cookie的接受率不如第一方Cookie(不过主流的浏览器默认的设置下也接受带P3P协议的第三方Cookie,个人认为接受率甚至95%以上),但在某些特定情况下可以实现第一方Cookie无法实现的功能。
比如,当我们有多个域名的网站需要跟踪,我们希望了解到用户 点击某个广告到达域名A下的网页,然后可能浏览了不论那个域名下的页面,最后在域名B下的网页完成注册的情况。广告可以在域名A下的网页被跟踪到,而注册 可以在域名B下的网页跟踪到。如果我们使用第一方Cookie,会为域名A建立一个Cookie,为域名B再建立一个Cookie,他们可以关联各自域名 下网页上的行为,但是无法关联起来。而使用第三方Cookie,那么无论多少个域,都只有一个Cookie,一个属于第三方域的Cookie,网站下所有 域都能共享这个Cookie,那么所有的行为都能被关联起来分析。
总结:
禁止第一方cookie是不可能禁止的,这辈子都不可能禁止的,也就禁禁第三方cookie这样子才能勉强保护自己的隐私。😶
大数据时代,生活越来越便利,信息也越来越暴露无遗。😶