详解浏览器cookie和浏览隐私之间的关系

标签: 浏览器相关 cookie 隐私 | 发表时间:2013-07-05 14:58 | 作者:iefans
出处:http://www.iefans.net

本文所说的"cookie",指的是浏览器相关的 cookie(也叫"HTTP cookie")。

浏览器 cookie 的主要功能是:帮助网站保存一些小片段的信息。比如,你曾经在自己的浏览器上登录过某个论坛,下次你再打开论坛的登录页面,你会发现用户名已经帮你填好 了,你只需要输入口令即可。那么,这个登录页面是如何知道你上次登录用的账户名捏?奥妙就在于:该网站在你的浏览器端保存了一个 cookie,里面包含了你上次登录使用的帐号名称。

Cookie 的技术实现

本章节面向懂技术的网友。不太懂技术的读者,可以略过本节,直接进入下一章节,以免浪费时间。

网站如何设置 cookie(写操作)

1、当你在浏览器中点某个书签、或者在浏览器地址栏输入某个网址,浏览器会向对应的网站发起一个 HTTP 请求(术语是 HTTP Request)。

2、然后,网站的服务器收到这个 HTTP 请求之后,会把相应的内容(比如网页、图片、等)发回给浏览器(这称为 HTTP 响应,术语是 HTTP Reponse)。

如果网站想设置 cookie,就在发回的 HTTP Response 中,包含一个设置 cookie 的指令。举例如下:

Set-Cookie: user=xxxx; Path=/; Domain=www.example.com

上述这个例子中,设置了一个 cookie。这个 cookie 的"名"是 user;cookie 的"值"是 xxxx;cookie 绑定的域名是 www.example.com

3、浏览器在收到这个指令后,就会在你的电脑中存储该 cookie 的信息。

网站如何获取 cookie(读操作)

假设过了几天之后,你再次访问上述的 www.example.com 网站(在上次的访问中,已经被设置过 cookie 了)。这时候,浏览器发现该网址已经有对应的 cookie,就会把 cookie 的信息放在 HTTP Request 中,然后发送到网站服务器。具体的指令如下:

Cookie: user=xxxx

网站服务器拿到这个 HTTP Request 之后,就可以通过上述信息,知道 cookie 的"名"和"值"。

Cookie 的特点

存储信息量小

cookie 在洋文中的意思就是:小甜饼、曲奇饼。这个单词其实已经暗示了 cookie 技术所能存储的信息量是比较小滴。
从刚才的技术实现机制可以看出,cookie 只能用来存储纯文本信息,而且存储的内容不能太长——因为 Cookie 的读写指令受限于 HTTP Header 的长度。
但是,cookie 的信息量虽小,能耐却很大哦。请看下面的例子。

举例

比如某个网站上有很多网页,每个网页上有很多广告。该网站想要收集:每一个访客点击了哪些广告。

由于这些信息量比较大,直接存储在 cookie 里可能放不下。所以,网站通常是在 cookie 中保存一个 唯一的用户标识。然后把用户的点击信息(包括在哪个时间点击哪个广告)都存储在服务器上。

下次你再访问该网站,网站先拿到 cookie 中的用户标识,因为这个标识具有唯一性,那么就可以根据该标识,从网站服务器上查出该用户的详细信息。

绑定到域名和路径

从上述的实现机制可以看出,cookie 是跟 HTTP Request 对应的网址(域名和路径)相关的。

所以,不同域名的网站设置的 cookie 是互相独立的(隔离的)。这一点由浏览器来保证,以确保安全性。

补充一下:cookie 绑定的域名可以是 小数点开头的。举例如下:

Set-Cookie: user=xxxx; Path=/; Domain=.example.com

这个指令设置的 cookie,可以被 example.com 的 所有下级域名读取(比如 www.example.com 或 ftp.example.com)。

Cookie 的类型

第一方 Cookie VS 第三方 Cookie

首先来说说"第一方"和"第三方" Cookie 的区别,因为这跟隐私的关系比较密切。

要说清楚 "第一方 Cookie" 和 "第三方 Cookie" 的差别,俺来举个例子。

举例

打个比方,你上新浪去看新闻,并且新浪的网页上嵌入了阿里巴巴的广告(假设新浪的页面和嵌入的广告都会设置 cookie)。那么,当你的浏览器加载完整个页面之后,浏览器中就会同时存在新浪网站的 cookie 和 阿里巴巴网站的 cookie。这时候,新浪网站的 cookie 称为"第一方 Cookie"(因为你访问的就是新浪嘛),相对的,阿里巴巴的 cookie 称为"第三方 Cookie"(因为你访问的是新浪,阿里巴巴只是不相干的第三方)

内存型 VS 文件型

根据存储方式的不同,分为两类:基于内存的 Cookie 和 基于文件的Cookie。基于内存的 cookie,当浏览器关闭之后,就消失了;而基于文件的 cookie,即使浏览器关闭,依然存在于硬盘上。和隐私问题相关的 cookie,主要是第二类(基于文件的Cookie)。

Cookie 有啥正经用途?

今年的315晚会,央视猛烈抨击了 cookie 的隐私问题,搞得好像 cookie 是洪水猛兽一般。央视对 cookie 的宣传,典型是用来吓唬不懂技术的外行。其实捏,cookie 是有利有弊的。cookie 之所以应用这么广泛,因为它本身确实是很有用的。请看下面的几个例子。

举例1——自动登录

目前很多基于 Web 的邮箱,都有自动登录功能。也就是说,你第一次打开邮箱页面的时候,需要输入用户名和口令;过几天之后再来打开邮箱网页,就不需要再次输入用户名和口令了(比如 Gmail 和 Hotmail 就是这样的)。

为啥邮箱可以做到自动登录,就是因为邮箱的网站在你的浏览器中保存了 cookie,通过 cookie 中记录的信息来表明你是已登录用户。

举例2——提供个性化界面

比如某个论坛允许匿名用户设置页面的字体样式和字体大小。那么,该论坛就可以把匿名用户设置的字体信息保存在 cookie 中,下次你用同一个浏览器访问该论坛,自动就帮你把字体设置好了。

小结

一般来说,有正经用途的 cookie,大都是"第一方 Cookie";至于"第三方 Cookie",大部分是用来收集广告信息和用户行为的。

Cookie 如何泄漏隐私?

cookie 就像一把双刃剑,有很多用途,但也有弊端。一个主要的弊端就是隐私问题。

举例1

假如你同时使用 Google 的 Gmail 和 Google 的搜索(很多 Google 用户都这么干)。当你登录过 Gmail 之后,cookie 中会保存你的用户信息(标识你是谁);即使你在 Gmail 中点了注销(logout),cookie 中还是会有你的用户信息。之后,你再用 Google 的搜索功能,那么 Google 就可以通过 cookie 中的信息,知道这些搜索请求是哪个 Gmail 用户发起的。

可能有些同学会问,Gmail 和 Google 搜索,是不同的域名,如何共享 cookie 捏?俺前面有介绍过,某些 cookie 绑定的域名是以小数点开头的,也就是说,这类 cookie 可以被所有下级域名读取。因为 Gmail 的域名是 mail.google.com,而 Google 搜索的域名是 www.google.com。所以这两者都可以读取绑定在 .google.com 的 cookie!

注:俺拿 Google 来举例是因为俺博客的读者,大部分都是 Google 用户。其实不光 Google 存在此问题,百度、腾讯、阿里巴巴、奇虎360、等等,都存在类似问题(这几家都有搜索功能,也都有自己的一套用户帐号体系)。

举例2

很多网站会利用 cookie 来追踪你访问该网站的行为(包括你多久来一次,每次来经常看哪些页面,每个页面的停留时间),这样一来,网站方面就可以根据这些数据,分析你的个人的种种偏好(这就涉及到个人隐私)。

请注意:利用 cookie 收集个人隐私的把戏有很多,俺限于篇幅,仅列出上述两例。

始终用隐私浏览模式

关于"隐私浏览模式",在 本系列的前一篇已经介绍过了,此处不再啰嗦。

在隐私浏览模式下,浏览器关闭之后,期间所有的 cookie 都消失。

但是,这样设置也可能带来一些不方便之处(安全性和方便性通常是截然对立)。你可能要先尝试一段时间,看看自己能否忍受这种模式。

小结

刚才介绍的几招,都是针对单个浏览器 。大部分情况下是够用了。但是某些特殊情况,还是会搞不定。

比如:你经常用 Gmail,而且依赖于 Gmail 的自动登录。这时候,你就不能禁用 .google.com 域名下的 cookie(禁用了就无法自动登录 Gmail)。

但是,你在用 Google 搜索的时候,又不希望让 Google 知道你是谁。咋办捏?请听下回分解——用多浏览器搭配不同的招数。

via: 编程随想的博客

This article addresses: http://www.iefans.net/cookie-yinsi-guanxi/

Here is no comments yet by the time your rss reader get this, Do you want to be the first commentor? Hurry up

相关 [浏览器 cookie 隐私] 推荐:

详解浏览器cookie和浏览隐私之间的关系

- - IE浏览器中文网站
本文所说的"cookie",指的是浏览器相关的 cookie(也叫"HTTP cookie"). 浏览器 cookie 的主要功能是:帮助网站保存一些小片段的信息. 比如,你曾经在自己的浏览器上登录过某个论坛,下次你再打开论坛的登录页面,你会发现用户名已经帮你填好 了,你只需要输入口令即可. 那么,这个登录页面是如何知道你上次登录用的账户名捏.

浏览器设置阻止第三方Cookie保护自己隐私

- - 月光博客
  当我们在某些大型网站上搜索一些东西时,在另外的一些网站出现了你搜索的东西的相关广告,这种现象的出现说明我们的隐私已经被跟踪. 这种侵犯我们用户隐私现象的出现,要归功于第三方cookie所带来的副作用(隐私泄露风险).   为了防止用户隐私被跟踪,保护用户网络隐私,一些主流浏览器版本都已经设置了Do not Track不要跟踪这一选项.

你的隐私安全吗:Cookie到底是什么?

- - 博客 - 伯乐在线
这两天由于315的原因,Cookie这东西突然特别火,据说很多网友都忙着删掉自己 浏览器中的Cookie. 一开始我还觉得挺无聊的,央视不懂乱说什么啊. 直到前两天,家里一个亲戚跟我说:“原来我们上网干什么你们都知道啊,还看我们的邮件,这不一点隐私都没有了嘛. 我才意识到这个问题误导得太严重了,做为一个多年从事互联网Web开发工作的工程师,我觉得我应该说点什么.

3·15的迷思:cookie真得会侵犯用户隐私吗?

- - TECH2IPO创见
今天,随着开放的互联网时代的大行其道,公众的隐私权遭遇了前所未有的重视和挑战,在本次3·15晚会上,包括网易网易、品友、传漾、易传媒、亿玛等公司因为涉及通过cookie侵犯、利用用户隐私而被点名批评. 晚会尚未结束,上述被批评公司就开始做出了回应. 亿玛( @亿玛地皮)表示:. 1)cookie是全球浏览器支持的一种用户标识信息,属于匿名信息,不涉及任何用户个人账户、联系方式等隐私;2)匿名信息在法律标准上应属于非隐私信息.

华尔街日报曝微软用"超级cookie"采集网民隐私

- 洞箫 - cnBeta.COM
美国《华尔街日报》18日引述美国大学研究报告称,微软MSN等网络巨头正在采用超级Cookie在内的新技术手段来采集上网历史等隐私,用户根本意识不到这些手段的存在. 《华尔街日报》引述美国斯坦福大学和加州大学伯克利分校的研究报告称,Hulu以及微软MSN等网站,一直在使用所谓的超级cookie采集网民浏览 信息,这其实是一个安装在用户电脑中的文件,记录上网历史.

谷歌到底怎么绕过浏览器的隐私设定

- - 月光博客
  剧情回顾:最近几篇新闻都在讲述Google,Apple,Microsoft的神仙战争. 为什么叫神仙战争,因为你根本看不懂这五篇报道.   1,《 谷歌被曝绕过Safari隐私设定追踪用户浏览记录》.   2,《 谷歌因Safari隐私问题遭用户起诉侵权》.   3,《 微软打击Google和苹果称IE9是“不被第三方浏览的浏览器”》.

如何防范浏览器泄露上网隐私

- - IE浏览器中文网站
随着竞争的日益加剧,各大浏览器都拥有了自己独特的隐私策略与安全机制,不论是火狐、谷歌、IE、SAFARI还是其它的浏览器,都不断的提升着自己的安全标准与隐私策略来服务于用户. 即便如此,但是隐私被泄露的风险还是存在,作为用户我们也有必要了解一下关心浏览器与隐私方面的知识,以便更好的保护您自己的上网隐私.

亚马逊Kindle Fire的Silk浏览器存在暴露隐私风险

- Bourne - 36氪
亚马逊昨天宣布了最新的Kindle产品Fire,一款基于Android操作系统的平板电脑,并且亚马逊对其界面进行了定制. 人们的焦点似乎放在了丰富的媒体消费体验上. 但真正的新闻在于另一部Android平板电脑,而是上面的浏览器Silk. 亚马逊的Silk浏览器在上网速度和电池待机时间方面进行了提升.

互联网时代如何保护隐私(浏览器扩展篇)

- - 望月的博客
Google在3月1日起就要开始 实行新的隐私政策了,而之前众多的知名网站用户密码泄露问题也让我们心惊胆战, 那么,在隐私政策越来越倾向于广告商,个人资料越来越可能被泄露被出卖的时候,我们能怎么做呢. 一些优秀的工具、插件和扩展以及良好的使用习惯能有效的减少隐私被泄露的机会,本文将介绍几个保护互联网隐私的浏览器扩展,没有特殊说明的情况下,都是使用于Firefox、Chrome、Opera等浏览器的.

中科院报告称360浏览器Gmail等存泄露隐私风险

- - TechWeb 今日焦点 RSS阅读
  昨日,南都记者独家获悉,中国科学院信息工程研究所主办了一场主题为“隐私保护”的闭门学术研讨会,同时发布了一份由中科院保密技术攻防重点实验室研究撰写的《个人隐私泄露风险的技术研究报告》(下称报告). 内容显示,目前网民日常使用的许多网络服务都存在泄露隐私的风险;国内外许多知名互联网公司榜上有名,包括360浏览器、微软的Hotmail、谷歌的Gmail等.