获取用户代理值。服务器端与客户端?

Getting user agent value. Server side vs Client side?

我需要将用户代理值传递到前端。

我可以使用 $_SERVER['HTTP_USER_AGENT'] 获取此值并将其写入前端。 (实际上我将使用 Mage::helper('core/http')->getHttpUserAgent(),但我认为它只是调用上述函数的 magento 助手。)

或者我可以在客户端使用 get navigator.userAgent 和 js。

哪个更好,为什么?我最关心的是速度。

p.s。我知道 UA 很容易被操纵。我们没有将任何重要的功能基于该值,它用作次要参数。

我个人会使用 navigator.userAgent。主要是因为在我看来,将值从 PHP 传递到 JavaScript 非常难看。此外,两者的值将完全相同。即使有人决定编辑他们的用户代理。

我认为这里简单易行。

性能取决于用途。如果您在 php 中需要它,请将服务器变量与上面提到的助手 getter 一起使用。对于 js 使用导航器对象。

一般来说,navigator.userAgent和HTTP_USER_AGENT都是Request Header的变量,并且都已经存在于内存中(在js的情况下是服务器或用户浏览器)。所以不可能有可测量的性能差异。