什么是浏览器指纹
"浏览器指纹"是一种通过浏览器对网站可见的配置和设置信息来跟踪Web浏览器的方法,浏览器指纹就像我们人手上的指纹一样,具有个体辨识度,只不过现阶段浏览器指纹辨别的是浏览器。它是获取浏览器具有辨识度的信息,进行一些计算得出一个值,那么这个值就是浏览器指纹。辨识度的信息可以是UA、时区、地理位置或者是你使用的语言等等,你所选取的信息决定了浏览器指纹的准确性。
浏览器指纹也可以进行简单的分为普通指纹和高级指纹,普通指纹可以理解为容易被发现并且容易修改的部分,例如http的header:https://httpbin.org/headers
在上面我们可以看到浏览器的Accept-Language、User-Agent,通过前者可以拿到浏览器的语言信息,这个http头部实体信息可能是通过你当前的操作系统语言,或者浏览器设置的语言信息所生成的。这个头部也不一定准确,一些网站会直接忽略掉这个头部,通过用户的ip判断地区再决定呈现网页的语言。
除开从http中拿到的指纹,也可以通过其他方式拿到浏览器的特性信息,如:
- 每个浏览器的用户代理字符串
- 浏览器发送的HTTP ACCEPT标头
- 屏幕分辨率和色彩深度
- 系统设置为时区