# 为什么不登录账号，网站也知道我们喜欢什么？

- 作者：爱否科技
- 发布时间：2020-04-13 14:41
- 分类：软件
- 原文：https://www.ifanr.com/1326442

![](https://s3.ifanr.com/wp-content/uploads/2020/04/photo-1527689368864-3a821dbccc34.jpeg)

[本文](https://mp.weixin.qq.com/s/TouGkzcp6k9h0Nz6NrYG7g)来自微信公众号「爱否科技」（ID：FViewXFG），作者恺伦，爱范儿经授权发布。



当代生活，我们在网上冲浪的时候经常能够看见网站给你发送一个「使用 Cookie」的通知。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/ba/95/ba95fe317e70fd0b370dc879403c114013e44191-e36aeb66e42dcbfaa02678ce5eee37475a008080.png)

这玩意是个啥？贸然同意会有什么事情发生？

### **1**

在了解什么是「Cookie」之前，我们要了解一下网页是如何运行的。

当代互联网的繁荣很大程度上依赖于万维网技术的出现，而万维网的本质就是超文本信息的传输：我们在互联网上看到的所有信息，早期互联网主要由文字构成，这些文字被称作超文本；包括图片、音频、视频等等的多媒体资源则被称作超媒体，由超链接将网页连接在一起，构成了「互联网」这个人类奇迹。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/3a/bb/3abbfe15c6c85508d9e4319fbc9dc20a4c7890ad-1de7fd14c73eea0d6fd2e9b651d5f5e7a89327f4.jpg)

而万维网基于 TCP/IP 协议，背后则有庞大的技术支撑着整个网络的运行，这些技术合称为 WEB 协议族，其中就包括重要的 HTTP 超文本传输协议。

HTTP 超文本传输协议解决的最主要问题，就是把网页上的超文本信息传输到本地浏览器的传送协议。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/00/06/0006bf438691daa9dd29f647739e0313f1462850-f0591ee72e9acc804013d74013168c89ab8cca45.jpg)

我们在上网的时候经常要输入一个网址，这个网址学名叫「URL 统一资源定位符」，每个网页都有自己单独的 URL，类似于菜名或者是地址，名和物是一一对应的。整个 HTTP 协议的工作原理也非常类似于点菜：

· 请求：浏览器向 WWW 服务器发出访问请求，类似于在饭馆跟服务员说「给我整个宫保鸡丁」；

· 回复：服务器接收到请求后会根据情况回复访问者请求，例如「正常上菜（正常访问）」、「做不了（无法访问）」、「不给你做（拒绝访问）」、「我们这是麦当劳，吃宫保鸡丁请去隔壁（重新定向）」；

· 关闭链接：回复完成之后，HTTP 协议要求服务器忘掉上一单操作，准备服务下一个请求，类似于你去同一个饭馆点一万次宫保鸡丁，在你第一万零一次来的时候服务员还是不记得你点了一万次宫保鸡丁。

这里出现了 HTTP 协议一个非常重要的特点：不保存上一次访问的具体信息，这在 HTTP 协议中被称作**「Stateless 无状态协议」**。正是无状态使得整个 HTTP 协议能够保持高效稳定的运行。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/ce/ef/ceef56447f21dca3ac558a78f8cf6e6c9129c538-290ee1d69d8daf243a196e29ff5c52326b0a7547.jpg)

▲ 玩了一个同名梗



但是这样的操作对于网站来说很难记录单个用户的访问习惯与使用记录，无法对用户进行个性化的服务；对于用户来说虽然隐私得到了保护，但是使用上也有诸多不便，例如无法保存对不同网页的自定义设置、账户登录状态等等信息。

而 Cookie 正是用来解决「无状态」这个特点的。

### 2

HTTP Cookie 是服务器发送到用户浏览器并保存在本地内的一小块数据，是一种小型文字档案，它会在浏览器下一次向同一服务器在发起请求时，被携带在请求上发送给服务器，进而服务器就能够记录和区分不同的请求来源了。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/2a/89/2a89a673075ab2b670deae3ef261b9c9eb49c7e0-62d237be487206556633d30b49987c35c21ac725.png)

Cookie 从实际功能上说很像**实名制的会员卡**，类似于你点一次宫保鸡丁，服务员就记住了「这个人点过一次宫保鸡丁」，下次来的时候服务员会和你说「你是上次点宫保鸡丁的那个顾客，这次还要宫保鸡丁吗？」

正是 Cookie 的出现让基于无状态的 HTTP 协议记录用户访问状态成为了可能。

从功能上来说 Cookie 可以用于以下三个方面：

· 会话状态管理（记录用户的登录状态、音视频播放进度、购物车等等需要记录的信息）

· 个性化设置（对网站的个性化更改、自定义主题、用户设置等等）

· 浏览器行为跟踪（跟踪分析用户行为）

从某种程度上说，Cookie 的出现既方便了用户访问和使用网页，而不必多次重复输入相同的请求；也能为网站开发者提供用户的行为记录，方便进行更新迭代。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/f1/ef/f1efa0dc2da0085fc84f7b33a51a7883a2036065-737d0ff72beedf83f6e82cf465b680e64234da59.png)

▲ 淘宝主页放了 67 个 cookie



从安全性上来讲，Cookie 具有专属性，也就是说只有给你发 Cookie 的网站才能访问你在这个网站记录的 Cookie 信息，例如 B 站如果不用特殊手段的情况下就不可能访问你电脑上的 A 站的 Cookie。

除非电脑丢了，否则你电脑上保存的各种乱七八糟网站的 Cookie 就还是有安全保证的（除非网站自己卖 Cookie 或者黑进你电脑）。

### **3**

早期的网站还是比较老实的，知道 Cookie 这种带有个性化记录的信息好，但是还是依靠内容来吸引访问量。反正互联网就这点好对吧，森罗万象，什么都有。

但是我们都知道人类的恶如果不加以约束会变得非常恐怖（罗翔老师教的），这种带有个性化信息的记录都是广告商的香饽饽，因此网络上也兴起了通过收集 Cookie 个性化推送广告的情况，这就是第三方 cookie。

上面我们提到的都是第一方 cookie，也就是和域名匹配的 cookie；而第三方 cookie 则可以不和域名匹配，进而可以在不同的网页上收集用户的访问习惯，进而个性化推送广告。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/9b/3c/9b3cc89691fcf3789cc9f549ad3187d51c2aa924-3866ea718686a68036c00443c7fe5e1d29881e16.jpg)

在访问这种带有第三方 cookie 的网站时，浏览器会做两次请求，一次给网站本身，一次给投放第三方 cookie 的运营商，这样第三方 cookie 也能够知道用户访问了哪些内容，在你访问其他同样使用了这家广告商的网站的时候就会给你推送定制化的广告。

例如你经常访问科技类网站，广告商就给你多推一点科技产品广告；经常看美妆网站，就多推一点化妆品。

这些广告甚至不需要你登录就可以记录你的个性化信息，进而实现个性化推送。虽然没有「账号访问记录」这种放在服务器上，通过大数据分析勾勒用户画像进行匹配的方式来得精确，但是胜在范围庞大，广撒网。

当然第三方 cookie 也有自己的正面用途，例如很多子品牌很多的公司可以过第三方 cookie 统一收集用户访问数据，然后更好地投广告……

![](https://media.ifanrusercontent.com/user_files/wpdata/images/b5/4e/b54eb38643fa8e959c77d82dbf5b3bc57cfc424a-b10d8d3ac8898ce6e28fcdfa7b98474f3b1bc7a6.jpg)

此外 2013 年 315 晚会曾经报道过一种利用「网络臭虫」收集用户 cookie 的方式：在网页上植入了一个「1KB、纯透明的图片」，不耽误用户访问和浏览，作用方式大概率也是第三方 cookie。

一般来说 cookie 并不危险，在绝大多数情况下也能方便用户进行更加便利的使用，收集信息的本领也是 cookie 独特的职能所赋予的，没必要一棍子打死。如果对这方面有所警惕，可以通过以下方法加强对广告的控制：

· 尽可能使用新的浏览器版本

· 勾选浏览器中的「防跟踪请求」选项

· 使用第三方安全插件

· 经常清理 cookie

· 慎用 Flash

另外对于一些讲究点的、会告诉你「我们要记录你 Cookie」的网站，如果你会经常使用，可以点同意；如果只是临时访问或者是偶尔用用大可以点拒绝，不会耽误你正常使用的，当然也不会耽误他们给你推送广告的。

![](https://media.ifanrusercontent.com/user_files/wpdata/images/b6/03/b60321d076b2bfa1f756a44f049549c41c31ab57-ea1e96e8a0acd0f688829db26d7c90b157f78ec3.png)

作为一项诞生于互联网早期的业务，cookie 无疑已经得到了充分的发展，并且正在逐步退出历史舞台：一方面 Session Cookie 已经成为了绝大多数网站的记录方式，这种 Cookie 只在本地保留一个客户代号（Session ID），剩下的数据保留在远端的服务器上，因此能够记录的数据远多过传统的 Cookie。

另一方面，在移动互联网时代不用登陆就能访问的内容也越来越少，因此「精确的用户画像」也在取代这种广撒网的广告投放模式。

当然了，对于普通用户来说，能做到我前面提到的几点就已经很强了，毕竟 Cookie 管理不应该由用户操心，而应该由网站和广告提供商负责。
