모든 브라우저의 사용자 에이전트가 "Mozilla /"로 시작하는 이유는 무엇입니까?


210

Internet Explorer를 포함한 모든 인기있는 브라우저의 사용자 에이전트 문자열은로 시작합니다 Mozilla/. 왜 그런가요?


2
사용자 에이전트는 웹 서버에“ 나는 무작위 크랩이 아닙니다. 나는 또한 이 지원하는 기능을 지원합니다. 나를 차별하지 마십시오.” 따라서 브라우저의 사용자 에이전트는 다른 모든 것을 포함합니다.
Константин Ван

답변:


285

그것은이다 길고 슬픈 이야기 .

요약해서 말하자면:

  1. User-Agent와 함께 Mozilla 브라우저가 릴리스 Mozilla/1.0 (Win3.1)됩니다. 공개적으로 이름이 Netscape로 바뀌지 만 User-Agent에서는 원래 이름을 유지합니다.
  2. Internet Explorer가 릴리스되었습니다. 그것은 그것의 사용자 에이전트를 시작하여 넷스케이프를 스푸핑 Mozilla/시대의 다른 브라우저 넷스케이프와 IE를 모두 지원하는 기능이 있지만 - - 단지 넷스케이프로를 웹 서버가 일상적으로 브라우저 스니핑 및 프레임 페이지를 제공했기 때문.
  3. 시간이 지남에 따라 Gecko, Konqueror, Opera, Safari 및 Chrome은 브라우저 스니핑 웹 페이지를 조작하여 브라우저의 기능을 올바르게 이해하기 위해 이전 브라우저의 User-Agent를 유사하게 스푸핑하기로 결정했습니다. 이 스푸핑의 일부로 모든 Mozilla/브라우저는 이전과 같이 사용자 에이전트를로 시작 합니다. 현대 Chrome의 User-Agent가 동시에 Mozilla, Chrome, Safari 및 'like Gecko'라고 주장하는 것과 같은 다른 말도 안되는 결과도 있습니다.

18
여기에 "모질라"라고주의 하지 그 이름의 현재 오픈 소스 프로젝트지만, 넷스케이프의 원래 코드 명은 "모자이크 킬러"를 참조 생각했다. 코드 명은 몇 년 후 오픈 소스 프로젝트에 재사용되었으며, 여기에서 렌더링 엔진은 "Gecko"입니다.
IMSoP

75
그리고 우리는 2015 년에 여전히 멍청함을 영속시킵니다. MS Edge의 사용자 에이전트 문자열은 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.1입니다.
filoxo

18
브라우저 감지가 어렵다는 것은 놀라운 일이 아닙니다. 모두 서로 인척하고 있습니다!
Sarsaparilla

3
브라우저 전쟁은 사상자가 없었습니다.
Pikamander2

11
경우 userAgent문자열은 엉망, 다음, 왜되지 및 / 또는 제거되지 않습니다입니까?
멜빈 아브라함


10

@Jason이 언급 한 것처럼 "긴 이야기". 그 이야기를 요약하면 "모든 브라우저가 모질라 인 척"

모든 것을 시도한 후 마침내 사용했습니다 : http://www.useragentstring.com/

위의 웹 사이트를 사용하여 형식화 된 사용자 에이전트 및 OS를 얻을 수 있습니다.
그들은 당신이 직접 사용할 수 있는 API 를 가지고 있습니다 ...


1
Pedantic correction : Mozilla를 포함한 모든 브라우저는 사용자 에이전트가 Mozilla를 시작한 Netscape로 가장합니다. 코드 명이 재사용되었다는 사실은 혼란을 가중시킵니다.
IMSoP

Mozilla와 Firefox 코드베이스는 원래 Netscape의 일부였습니다. 많은 Firefox 내부 API가 "ns"를 접두사로 사용하는 이유가 여기에 있습니다.
Lie Ryan

2

그것이 Netscape 자체를 식별하는 방식이므로 Microsoft는 Netscape를 탐지하고 다른 것을 거부하는 사이트와 협력하기를 원했습니다.


1

이것에 대한 이유는 악명 높은 브라우저 전쟁 입니다.

간단히 말해 브라우저는 다른 브라우저 인 것처럼 가장하기 시작했습니다. 일부 웹 사이트는 요청한 브라우저에 따라 콘텐츠를 제공했으며 다른 브라우저를위한 콘텐츠도 원했기 때문입니다.

아직까지도 해결되지 않은 것은 놀라운 일입니다. userAgent레거시 이유로 안전하게 제거 할 수 없기 때문에 브라우저를 명확하게 식별하는 새로운 기능이 도입되지 않은 이유는 무엇입니까? 예, 대부분의 경우 브라우저 감지가 아니라 기능 감지가 필요하지만 내장 JS도 아닙니다.


0

Mozilla / 5.0은 브라우저가 Mozilla와 호환되며 오늘날 거의 모든 브라우저에 공통적으로 사용되는 일반적인 토큰입니다. 자세한 내용은 여기를 클릭하십시오


2
은 "모질라"이 언급되고 있습니다 릴리스하기 전에 넷스케이프에 재 상표되었다 (어느 대부분의 독자는 원래의 이름으로 전해 듣지 아마 적이) 모질라 (모자이크 킬러) 브라우저, 실제로 - - 이것은 약간 오해의 소지가있다 하지 Mozilla는 오늘날에도 여전히 존재하는 비영리 무료 소프트웨어 커뮤니티입니다.
Mark Amery
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.