网站能看到你的哪些浏览器信息

网站可以通过浏览器请求、JavaScript 和 Web API 观察一部分浏览器、设备、区域和网络环境信息,例如浏览器版本、屏幕、时区、Canvas、WebGL 和 IP。这些信息并不是一份完整的设备档案,不同网站和浏览器能够获取的信息范围也不同。

学习目标

阅读本文后,您将能够:

  • 说出网站能从浏览器观察到哪些环境信息
  • 判断这些信息大致代表什么
  • 理解这些信号如何参与浏览器指纹
  • 区分网站能看到什么、又不能说明什么

浏览器和系统信息

网站可以通过 User-Agent、Client Hints 和浏览器 API,看到一部分浏览器名称、版本和操作系统。

网站可能观察到大致代表什么
Browser浏览器类型
User-Agent浏览器和平台声明
Client Hints浏览器主动提供的部分平台信息
Platform浏览器报告的平台环境

这些字段说的是当前这个浏览器怎么声明自己。单独一项很常见,网站通常会把它和后面的屏幕、渲染放在一起看。

屏幕与设备信息

网站可以读取屏幕、窗口和一部分硬件量级信息,用来描述当前的显示环境和设备能力。

网站可能观察到大致代表什么
Screen屏幕分辨率
Viewport当前窗口的可视区域
Device Pixel Ratio逻辑像素和物理像素的比例
Hardware Concurrency浏览器报告的逻辑处理器数量
Device Memory浏览器报告的大致内存

很多电脑报出的数字都相近。这类信号很少单独等于一台设备。

图形与渲染环境

网站可以通过画布和 GPU 路径,观察浏览器如何渲染文字和图形。

网站可能观察到大致代表什么
Canvas画布如何渲染一段文字或图形
WebGL3D / GPU 路径如何渲染
GPU显卡厂商与渲染器名称

图形和文字怎么被画出来,往往是区分度较高的信号。

字体与文本环境

网站可以通过检测已安装字体和文本渲染差异,观察一部分系统字体环境。

网站可能观察到大致代表什么
已安装字体系统里能被页面测到的字体集合
文本渲染同一段文字在当前环境下的绘制结果

字体环境属于图形与系统的交界,通常和其他渲染信号一起看。

时区、语言和区域设置

网站可以读取浏览器当前的时区、语言和区域格式,用来说明这个浏览器按哪个地区设置。

网站可能观察到大致代表什么
Timezone浏览器当前使用的时区
Language首选语言和备用语言
Locale日期、数字等区域格式

它们更常用来判断环境和网络出口是否配套,而不是单独拿来当身份。

网络环境信息

网站几乎总会看到浏览器这次请求从哪个公网地址出去。有的页面还能通过 WebRTC 再看到别的地址。

网站可能观察到大致代表什么
出口 IP浏览器这次请求使用的公网地址
WebRTC页面可能另外看到的本机或公网地址

IP 不是浏览器指纹本身。出口变了,上面那些浏览器信号往往还在。

浏览器功能与 API

网站可以通过探测 API 支持和功能差异,观察这个浏览器实际能做什么。

网站可能观察到大致代表什么
API 支持这个浏览器实现了哪些 Web API
功能差异同一类浏览器里,实现细节仍可能不同
浏览器特性隐私设置或扩展带来的行为差别

两个看起来都是 Chrome 的环境,能力集合仍可能不同。

改掉一项,其余还在

网站同时看着浏览器、设备和网络。您只换 IP、只清 Cookie,或只换一个浏览器,变的只是其中一层。其余信号并不会跟着变。

理解这些信息时需要注意什么

  • 网站看到的不是完整设备档案。
  • 不同网站拿到的信息不同。
  • 某个字段相同,不能证明是同一台设备。
  • 某个字段不同,也不能证明一定来自不同用户。
  • 能看到这些信号,不等于认出了某个真人。

常见问题

网站能知道我具体使用哪台电脑吗?

不能。网站看到的是这个浏览器允许它读取的那些项,不是某台电脑的编号。

网站能看到我安装的所有软件吗?

不能。它测不到完整的软件清单。字体检测只能覆盖页面能够测到的那一部分字体环境。

不同网站看到的浏览器信息一样吗?

不一样。采集字段、浏览器许可和隐私设置都会改变最终拿到的集合。

无痕模式会减少这些信息吗?

无痕主要少存历史和 Cookie。上面这些浏览器信号在无痕里通常还在。