HTTP 中用户代理的语法 Header

Syntax of User Agent in HTTP Header

我有 Google Chrome 浏览器 运行 版本 89.0 我浏览器的用户代理显示以下字符串:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36

上述语法格式中的每个字段代表什么?

您在用户代理字段中输入的内容完全是任意的,因此没有关于使用何种格式的标准。

说,由于历史原因,浏览器喜欢声称自己是很多不同的浏览器。很棒 post 这里:https://webaim.org/blog/user-agent-string-history/

这主要是因为某些网站会使用用户代理来猜测请求页面的浏览器的功能,并尝试根据内容提供不同的版本。

这充满了问题(因此浏览器不得不伪装成其他浏览器以避免获得不合标准的页面)并且现在在 CSS 和 JavaScript.

此外,拥有这样一个特定版本还存在隐私问题,以及一些其他使其更加独特的项目,跟踪个人用户非常容易。

在服务器端,User Agent Client Hints 将允许浏览器告诉网站它支持什么,而不是网站根据用户代理进行猜测。更加准确和面向未来。

Chrome 甚至对 it intends to freeze the user agent at some point 说要阻止人们依赖它。所以我不会依赖它来构建任何东西。