Internet Explorer를 포함한 모든 인기있는 브라우저의 사용자 에이전트 문자열은로 시작합니다 Mozilla/
. 왜 그런가요?
답변
그것은이다 길고 슬픈 이야기 .
요약해서 말하자면:
- User-Agent와 함께 Mozilla 브라우저가 릴리스
Mozilla/1.0 (Win3.1)
됩니다. 공개적으로 이름이 Netscape로 바뀌지 만 User-Agent에서는 원래 이름을 유지합니다. - Internet Explorer가 릴리스되었습니다. 그것은 그것의 사용자 에이전트를 시작하여 넷스케이프를 스푸핑
Mozilla/
시대의 다른 브라우저 넷스케이프와 IE를 모두 지원하는 기능이 있지만 – – 단지 넷스케이프로를 웹 서버가 일상적으로 브라우저 스니핑 및 프레임 페이지를 제공했기 때문. - 시간이 지남에 따라 Gecko, Konqueror, Opera, Safari 및 Chrome은 브라우저 스니핑 웹 페이지를 조작하여 브라우저의 기능을 올바르게 이해하기 위해 이전 브라우저의 User-Agent를 유사하게 스푸핑하기로 결정했습니다. 이 스푸핑의 일부로 모든
Mozilla/
브라우저는 이전과 같이 사용자 에이전트를로 시작 합니다. 현대 Chrome의 User-Agent가 동시에 Mozilla, Chrome, Safari 및 ‘like Gecko’라고 주장하는 것과 같은 다른 말도 안되는 결과도 있습니다.
답변
나는 그것이 http://en.wikipedia.org/wiki/User_agent#User_agent_spoofing 과 관련이 있다고 생각합니다 .
초기에는 Netscape (코드 Mozilla라는 코드)가 IE의 주요 경쟁자였으며 Netscape 이외의 브라우저를 거부하는 사이트에서 거부 당하지 않기를 원했습니다.
답변
@Jason이 언급 한 것처럼 “긴 이야기”. 그 이야기를 요약하면 “모든 브라우저가 모질라 인 척”
모든 것을 시도한 후 마침내 사용했습니다 : http://www.useragentstring.com/
위의 웹 사이트를 사용하여 형식화 된 사용자 에이전트 및 OS를 얻을 수 있습니다.
그들은 당신이 직접 사용할 수 있는 API 를 가지고 있습니다 …
답변
그것이 Netscape 자체를 식별하는 방식이므로 Microsoft는 Netscape를 탐지하고 다른 것을 거부하는 사이트와 협력하기를 원했습니다.
답변
이것에 대한 이유는 악명 높은 브라우저 전쟁 입니다.
간단히 말해 브라우저는 다른 브라우저 인 것처럼 가장하기 시작했습니다. 일부 웹 사이트는 요청한 브라우저에 따라 콘텐츠를 제공했으며 다른 브라우저를위한 콘텐츠도 원했기 때문입니다.
아직까지도 해결되지 않은 것은 놀라운 일입니다. userAgent
레거시 이유로 안전하게 제거 할 수 없기 때문에 브라우저를 명확하게 식별하는 새로운 기능이 도입되지 않은 이유는 무엇입니까? 예, 대부분의 경우 브라우저 감지가 아니라 기능 감지가 필요하지만 내장 JS도 아닙니다.