Microsoft Edge 사용자 에이전트 문자열

Microsoft Edge 사용자 에이전트 문자열

다른 모든 브라우저에는 고유한 사용자 에이전트 문자열이 있는 것처럼 보이지만 Microsoft Edge의 경우에는 다음과 같은 것처럼 보입니다.

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393

왜 Edge만이 아닌 Mozilla, Chrome, Safari가 있나요?

답변1

그렇다면 왜 Edge뿐만 아니라 Mozilla, Chrome, Safari도 포함되어 있을까요?

웹 페이지 디자이너는 단순히 게으르고 특정 브라우저에서만 지원되는 더 쉬운 프레임워크를 사용하기를 원하기 때문에 방문자가 특정 브라우저를 사용하지 못하도록 차단하려고 시도합니다.

또한 사용자 에이전트 확인의 유용성을 제한하는 것은 의도적인 설계 결정입니다. 이 결정은 (Spartan/Edge 개발자의 관점에서) 과거에 웹사이트가 특별히 IE를 찾고 사용자에게 다른 브라우저를 사용하도록 알렸다는 사실에 근거한 것 같습니다.

Edge/Spartan은 Trident 엔진을 현대화하려는 Microsoft의 첫 번째 시도였으며 Edge/Spartan의 목적은 당시 (Blink, AppleWebKit 및 Gecko)의 기능 세트를 일치시키는 것이었으므로 사용자 에이전트는 단순히 자신을 모든 것으로 광고하는 것입니다. 웹 페이지 디자이너가 IE를 대상으로 한 것과 동일한 방식으로 Edge를 쉽게 대상으로 삼는 것을 방지합니다.

현재 방문하는 많은 웹 사이트는 Internet Explorer 11이 많은 새로운 웹 표준을 지원함에도 불구하고 적절하게 코딩되지 않고 일반적으로 이전 브라우저에서와 같은 페이지를 표시하기 때문에 IE에서 제대로 표시되지 않습니다. 일부 페이지는 Chrome이나 Firefox와 같은 다른 브라우저에서는 완벽하게 작동하지만 IE에서는 잘못 표시됩니다.

일부 웹사이트에서는 부드러운 스크롤을 꺼도 사라지지 않는 갑작스러운 스크롤 문제도 있고, 웹페이지에서 브라우저를 IE로 식별해 중요한 요소가 표시되지 않는 경우도 있습니다.

마이크로소프트의 새로운 스파르탄 엔진은 자신을 크롬으로 위장한다

Chrome과 Firefox도 비슷한 기능을 수행합니다.

Mozilla/5.0(Windows NT XY; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/50.0.2657.0 Safari/537.36,gzip(gfe),gzip(gfe)"

IE11의 사용자 에이전트가 비슷하다는 점을 지적할 가치가 있습니다.

Gecko와 같은 Mozilla/5.0(Windows NT 10.0; WOW64; Trident/7.0; rv:11.0)

사용자 에이전트 문자열 변경

답변2

Edge는 Chrome인 척하고, Chrome은 Safari인 척하고, Safari는 Mozilla인 척했습니다. 그리고 Edge는 EdgeHTML을 사용했지만 공개하지 않았고, Chrome은 Blink를 사용했지만 공개하지 않았지만 Chrome은 WebKit을 사용하는 척했습니다. 그리고 Webkit은 KHTML인 척하고, KHTML은 Gecko인 척했습니다. 그리고 웹 표면에는 혼란이 과도하게 팽배했습니다.

에서 가져옴Microsoft Edge의 사용자 에이전트 문자열 이름은 무엇입니까?댓글 작성자클로드

Microsoft Edge UA 문자열:

Mozilla/5.0(Windows NT 10.0) AppleWebKit/537.36(KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

이 블로그 게시물에서 그 이유를 자세히 설명합니다.

Neowin은 최근 Microsoft의 Windows 10용 새 브라우저인 Spartan이 Chrome UA 문자열을 사용한다고 보고했습니다.“Mozilla/5.0(Windows NT 10.0; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0″. 그것은 고의로 행해진 것입니다.

또한 전체 문자열이 Chrome에서는 그렇지 않은 "Edge/12.0"으로 끝나는 것을 알 수 있습니다.

나는 이것이 Microsoft가 IE 11에서 수행한 작업과 완전히 다르지 않다는 점을 지적해야 합니다. Windows 8에서는 다음과 같이 표시됩니다. Mozilla/5.0(Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko(여기서 설명됨) 우편.

사용자 에이전트 스니핑이란 무엇입니까?

종종 웹 개발자는 브라우저 감지를 위해 UA 스니핑을 수행합니다. Mozilla는 블로그에서 이에 대해 잘 설명합니다.

다양한 웹 페이지나 서비스를 다양한 브라우저에 제공하는 것은 일반적으로 좋지 않은 생각입니다. 웹은 사용하는 브라우저나 장치에 관계없이 모든 사람이 액세스할 수 있도록 만들어졌습니다. 특정 브라우저를 대상으로 하기보다는 기능의 가용성을 기반으로 웹 사이트를 점진적으로 개선하도록 웹 사이트를 개발하는 방법이 있습니다.

다음은 사용자 에이전트의 역사를 설명하는 훌륭한 기사입니다.

종종 게으른 개발자는 UA 문자열을 찾아내고 시청자가 사용하고 있다고 생각하는 브라우저에 따라 웹사이트의 콘텐츠를 비활성화합니다. Internet Explorer 8은 개발자가 흔히 좌절하는 지점이므로 사용자가 IE의 모든 버전을 사용하고 있는지 자주 확인하고 기능을 비활성화합니다.

Edge 팀은 블로그에서 이에 대해 더 자세히 설명합니다.

모든 사용자 에이전트 문자열에는 사용 중인 실제 브라우저보다 다른 브라우저에 대한 더 많은 정보(토큰뿐만 아니라 '의미 있는' 버전 번호)가 포함되어 있습니다.

Internet Explorer 11의 UA 문자열:

Gecko와 같은 Mozilla/5.0(Windows NT 6.3; Trident/7.0; rv:11.0)

Microsoft Edge UA 문자열:

Mozilla/5.0(Windows NT 10.0) AppleWebKit/537.36(KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

userAgent 속성은 W3C 토론에서 Patrick H. Lauke에 의해 "계속 증가하는 거짓말 묶음"으로 적절하게 설명되었습니다. (“또는 실제로 유용하고 정확한 정보를 약간 전달하려고 노력하면서 기존 UA 스니핑 코드가 즉시 실패하지 않도록 충분한 레거시 키워드를 추가하는 균형 잡힌 작업입니다.”)

웹 개발자는 UA 스니핑을 최대한 피하는 것이 좋습니다. 최신 웹 플랫폼 기능은 거의 모두 쉬운 방법으로 감지할 수 있습니다. 예를 들어,현대화라이브러리는 기능을 감지하는 환상적이고 간단한 방법입니다.

작년에 우리는 Microsoft Edge를 감지하고 레거시 IE11 코드 경로만 제공하도록 업데이트된 일부 UA 스니핑 사이트를 보았습니다. Microsoft Edge는 IE11 동작이 아닌 'WebKit' 동작과 일치하므로 이는 최선의 접근 방식이 아닙니다(모든 Edge-WebKit 차이점은 수정에 관심이 있는 버그입니다).

경험상 Microsoft Edge는 이러한 사이트의 'WebKit' 코드 경로에서 가장 잘 실행됩니다. 또한 인터넷이 더욱 다양한 장치에서 사용 가능해짐에 따라 알려지지 않은 브라우저도 좋다고 가정하십시오. 귀하의 사이트가 현재 알려진 소수의 브라우저에서만 작동하도록 제한하지 마십시오. 이렇게 하면 향후 사이트가 거의 확실히 중단될 것입니다.

결론

Chrome UA 문자열을 제시함으로써 이러한 개발자가 사용하는 해킹을 해결하고 사용자에게 최상의 경험을 제공할 수 있습니다.

에서 가져옴Microsoft Edge의 사용자 에이전트 문자열 이름은 무엇입니까?대답하다데이브 보일스.

관련 정보