有没有一种好的方法来解析用户代理字符串?

12 浏览
0 Comments

有没有一种好的方法来解析用户代理字符串?

我有一个Java模块,它从最终用户的浏览器接收User-Agent字符串,并根据浏览器类型、浏览器版本甚至操作系统的不同需以稍微不同的方式进行操作。

例如:{"FireFox", "7.0", "Win7"}{"Safari", "3.2", "iOS9"}

我了解到由于不同的插件安装等原因,即使对于完全相同的配置,User-Agent字符串的格式也可能不同。

我的问题:

  1. User-Agent的结构是否定义良好?如果是,我可以在哪里找到确切的定义?(根据我对RFC的理解,这里并没有太多的标准化)。
  2. 假设问题1的答案是No,是否有适当的方法来解析它以获取我需要的信息?
  3. 除了User-Agent字符串,是否有更好的方法来获取我需要的信息?

重要提示:我谈论的是一个Web应用程序,所以我的数据收集能力仅限于javascript

0