Como a maioria dos navegadores normalmente não fornece informações boas ou verdadeiras sobre eles, não podemos confiar somente nas informações de cabeçalho que eles nos fornecem. A ferramenta WhichBrowser pode detectar muitos, se não a maioria dos navegadores e sistemas operacionais, dependendo não apenas dos cabeçalhos fornecidos pelo Navegador, mas também de alguns dos comportamentos que os navegadores normalmente exibem. É de código aberto, então você pode se aprofundar ou apenas usar a biblioteca como está.