获取用户代理值。服务器端与客户端?
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的情况下是服务器或用户浏览器)。所以不可能有可测量的性能差异。
我需要将用户代理值传递到前端。
我可以使用 $_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的情况下是服务器或用户浏览器)。所以不可能有可测量的性能差异。