모든 브라우저의 사용자 에이전트가 "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.