2017-10-30 19 views
0

프런트 엔드에 사용자 에이전트 값을 전달해야합니다.사용자 에이전트 값 얻기. 서버 측 대 클라이언트 측?

이 값은 $_SERVER['HTTP_USER_AGENT']을 사용하여 프런트 엔드에 쓸 수 있습니다. (사실은 내가 Mage::helper('core/http')->getHttpUserAgent()을 사용하는 것입니다,하지만 난 그냥 언급 한 기능 이상으로 호출하는 젠토 도우미 생각합니다.)

을 아니면 내가 클라이언트 측 JS와 navigator.userAgent를 얻을 수 있습니다.

더 나은 이유는 무엇입니까? 나의 가장 큰 관심사는 속도 다.

p.s. UA가 쉽게 조작 될 수 있음을 이해합니다. 우리는이 값에 어떤 중요한 기능도 근거하지 않고, 보조 매개 변수로 사용됩니다.

+0

프런트 엔드로 전달하고 프런트 엔드에서 가져올 수 있다면 왜 서버를 사용해야합니까? – Devon

+0

닫기의 이유 - * "많은 좋은 질문은 전문가의 경험을 토대로 어느 정도의 의견을 제시하지만이 질문에 대한 답변은 사실, 참고 문헌 또는 특정 전문 지식보다는 의견을 기반으로하는 경향이 있습니다. * You (http://www.quora.com/Computer-Programming) 개발 포럼을 찾고 싶을 수도 있습니다. 그런 다음/특정 코딩 문제가있는 경우 StackOverflow로 돌아와서 도와 드리겠습니다. –

답변

1

저는 개인적으로 navigator.userAgent을 사용할 것입니다. 주로 PHP에서 JavaScript로 값을 전달하는 것은 제 생각에는 꽤 못 생깁니다. 또한이 값은 둘 다 정확히 동일합니다. 누군가 자신의 사용자 에이전트를 편집하기로 결정한 경우에도 마찬가지입니다.

나는 단순함이 여기에 케이크를 가져 간다고 생각한다.

0

성능은 용도에 따라 다릅니다. PHP 내부에서 필요한 경우 위에서 언급 한 helper getter와 함께 server 변수를 사용하십시오. js는 navigator 객체를 사용합니다.

일반적으로 navigator.userAgent와 HTTP_USER_AGENT는 모두 요청 헤더의 변수이며 둘 다 이미 js의 경우 서버 또는 사용자 브라우저의 메모리에 있습니다. 따라서 측정 가능한 성능 차이는 없습니다.