2014-10-16 3 views
1

브라우저가 존재하기 때문에 기능 감지에 대한 기사를 읽고 브라우저 검색보다 더 신뢰할 수 있습니다.사용자 에이전트/브라우저가 거짓말을하는 이유

왜 그들이 거짓말을했는지에 대한 정보를 찾을 수 없었습니다. 누구든지 왜 그렇게 할 수 있는지에 대한 이유를 알고 있습니까?

답변

1

내가 이해하는 한 웹 마스터는 브라우저 스니핑을 사용하여 브라우저의 기능을 찾고 브라우저에 보내는 것을 제한합니다. 브라우저가 그것의 기능에 대해 거짓말을하는 경우가 웹 마스터에서 이상이 나타날 것입니다, 당신은 자세한 내용을보실 수 있습니다 :

http://farukat.es/journal/2011/02/499-lest-we-forget-or-how-i-learned-whats-so-bad-about-browser-sniffing

http://webaim.org/blog/user-agent-string-history/

+0

브라우저는 기능에 대해 거짓말을하지 않습니다. 그러나 개발자 도구를 통해 사용자 에이전트 문자열을 변경할 수 있습니다. 또는 ... 사용자 에이전트 문자열의 변형이 너무 많아서 적절한 기능을 갖춘 브라우저/장치 조합의 유효한 데이터베이스를 유지하는 것이 불가능합니다. OS가 업그레이드되고 갑자기 X 기능이 작동한다면 어떨까요? 매우 많은 시나리오. 이것이 바로 기능 탐지가 올바른 방법 인 이유입니다. 그들은 그것에 대해 거짓말을 할 수 없으며 기능을 잘못 구현합니다. –

+0

정보에 일부 출처를 제공 할 수 있습니까? 필자의 첫 번째 소스는 Modernizr (피처 검색)의 창시자 인 Faruk Ates가 말했습니다. "UA 스니핑의 가장 큰 문제점은 브라우저가 거짓말하기 때문에"UA "부분입니다. 많은 사람들이 Microsoft Internet Explorer 2.0 며 "브라우저는 언제나 자신이 누구이며 무엇을 할 수 있는지에 대해 거짓말을하고있다"고 덧붙였다. 당신에 대한 더 이상의 증거없이 나는 그를 믿기를 더 좋아합니다. –

2

을 이유는 간단하다 :

웹 사이트가 사용자에 보이기 때문에 에이전트 문자열을 입력하고 브라우저에 대한 가정을합니다. 그러면 브라우저가 새 버전으로 업데이트 될 때 유효하지 않습니다.

이것은 웹의 시작부터 거의 계속되고 있습니다. 브라우저 공급 업체는 새 버전에서 웹을 손상시키지 않으므로 UA 문자열을 수정하여 기존 사이트에서 코드를 속일 수 있습니다.

궁극적으로 모든 사람이 책임감있게 UA 문자열을 사용하고 새로운 브라우저 버전이 나올 때마다 사이트를 업데이트하면 브라우저가 거짓말 할 필요가 없습니다. 그러나 당신은 인정해야합니다, 그것은 상당히 많은 것을 요구합니다.

새로운 브라우저 버전이 해당 기능과 함께 제공되면 브라우저가 특별한 작업이나 사이트 소유자 없이도 자동으로 감지하므로 기능 감지 기능이 향상됩니다.

물론 기능 검색이 완벽하게 작동하지 않는 경우가 있습니다 (예 : 기능이 있지만 특정 브라우저에 버그가있는 경우). 이 경우 예, 폴백으로 브라우저 검색을 수행 할 수 있습니다. 그러나 대부분의 경우 기능 감지가 훨씬 더 나은 옵션입니다.

관련 문제