微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTTP 标头中用户代理的语法

如何解决HTTP 标头中用户代理的语法

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

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

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

解决方法

您在用户代理字段中放置的内容完全是任意的,因此没有关于使用什么格式的标准。

也就是说,由于历史原因,浏览器喜欢声称自己是许多不同的浏览器。很棒的帖子在这里: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 阻止人们依赖它。所以我不会依赖它构建任何东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。