
你的浏览器分享了哪些信息?
每次访问网站时,你的浏览器都会自动分享关于设备和配置的信息。这些数据用于分析、兼容性检查、安全,以及不幸的是,用于跟踪的指纹识别。了解暴露了什么有助于你做出明智的隐私决策。

浏览器暴露的信息
用户代理字符串
最基本的设备标识符:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
包含:
- 操作系统(Windows 10、macOS、Android、iOS)
- 浏览器和版本(Chrome 120)
- CPU 架构(x64)
- 浏览器引擎(WebKit、Gecko、Blink)
User-Agent 正逐步被更注重隐私的 User-Agent Client Hints API 取代,网站可以请求特定属性,而不是接收全部信息。
屏幕信息
通过 JavaScript 的 screen 对象获取:
- 宽度/高度:屏幕总尺寸(例如 2560x1440)
- 可用宽度/高度:排除任务栏后的可用区域
- 色彩深度:每通道位数(通常为 24 位)
- 像素比:物理像素与逻辑像素之比(标准屏幕为 1x,Retina/HiDPI 为 2x+)
视口信息
浏览器窗口的可见区域:
- 内部宽度/高度:可见内容区域大小
- 外部宽度/高度:浏览器窗口总大小(包括工具栏)
- 页面偏移:滚动位置
连接信息
Network Information API 暴露:
- 连接类型(wifi、cellular、ethernet)
- 有效连接类型(4g、3g、2g、slow-2g)
- 估计带宽
- 估计延迟
并非所有浏览器都支持(Firefox 出于隐私原因已禁用它)。
电池状态
Battery API(已在许多浏览器中弃用)可能暴露:
- 电池电量百分比
- 充电/放电状态
- 充满/耗尽剩余时间
由于指纹识别问题,多个浏览器已移除此 API。

硬件并发数
navigator.hardwareConcurrency 报告可用的逻辑 CPU 核心数。用于决定创建多少个 Web Worker。
设备内存
navigator.deviceMemory 返回近似 RAM 大小(以 GB 为单位,为隐私四舍五入到最接近的 2 的幂):0.25、0.5、1、2、4、8。
语言和区域设置
navigator.language 和 navigator.languages 暴露:
- 主要浏览器语言
- 首选语言的有序列表
用于以用户语言提供内容,无需用户显式选择。
在线状态
navigator.onLine 指示浏览器是否认为有互联网连接。用于显示离线模式 UI。
浏览器指纹识别
组合多个浏览器属性可以创建一个指纹——即使没有 cookie,也可能唯一标识你的设备:
Canvas 指纹识别
在不可见的 canvas 上绘制文本/图形并对结果进行哈希。不同的 GPU 驱动、字体和操作系统设置会产生略有不同的渲染结果,从而创建指纹。

WebGL 指纹识别
查询 GPU 的能力和渲染器字符串会暴露具体的 GPU 和驱动版本。
音频指纹识别
AudioContext 处理在不同硬件上会产生略有不同的结果。
字体指纹识别
检查已安装的字体(通过 CSS 字体加载检测)会暴露操作系统和已安装应用程序的特征。
组合熵
每个属性提供部分熵。组合后,它们可以在不同浏览器会话中高置信度地唯一标识设备。
隐私影响
了解设备信息暴露对于以下方面很重要:
- 用户:了解你分享了哪些数据,如果担心隐私,请使用隐私工具(Brave、带 uBlock Origin 的 Firefox、Tor 浏览器)
- 开发者:只收集你真正需要的设备数据;在隐私政策中披露数据收集
- 安全专业人员:设备指纹识别可以检测机器人流量和账户接管尝试
使用设备信息工具
我们的工具显示:
- 浏览器详情 — 名称、版本、引擎和用户代理字符串
- 操作系统信息 — 操作系统和版本
- 屏幕规格 — 尺寸、色彩深度、像素比
- 硬件信息 — CPU 核心数、RAM 估计
- 网络详情 — 连接类型和速度估计
- 位置数据 — 时区和语言偏好
- 功能支持 — 你的浏览器中可用的 Web API
所有处理都在本地完成——不会向任何服务器发送数据。