development

Microsoft Edge의 사용자 에이전트 문자열 이름은 무엇입니까?

big-blog 2020. 12. 11. 19:07
반응형

Microsoft Edge의 사용자 에이전트 문자열 이름은 무엇입니까?


나는 웹 사이트를 만들고 있으며 공식적으로 나올 때 곧 나올 Microsoft Edge와 호환되기를 원합니다. 좀 더 구체적으로 말하자면 모바일 버전입니다. 누구든지 Edge Mobile Browser를 식별하는 문자열을 알고 있습니까 (예 : "IE Mobile"은 Internet Explorer의 모바일 버전을 식별).


Microsoft Edge UA 문자열 :

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (Gecko와 같은 KHTML) 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 (Gecko와 같은 KHTML) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0을 사용한다고보고했습니다. ″. 그것은 의도적으로 수행됩니다.

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

나는 이것이 마이크로 소프트가 IE 11에서했던 것과 근본적인 차이가 아니라는 점을 지적해야한다. 윈도우 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 (Gecko와 같은 KHTML) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

userAgent 속성은 W3C 토론에서 Patrick H. Lauke가 "계속 성장하는 거짓말 팩"으로 적절하게 설명되었습니다. ( "또는 오히려 실제로 유용하고 정확한 정보를 약간 전달하려고 노력하면서 오래된 UA 스니핑 코드가 즉시 넘어지지 않는 충분한 레거시 키워드를 추가하는 균형 잡힌 작업")

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

지난 1 년 동안 Microsoft Edge를 감지하도록 업데이트 된 UA 스니핑 사이트를 보았습니다. 레거시 IE11 코드 경로 만 제공합니다. Microsoft Edge는 IE11 동작이 아닌 'WebKit'동작과 일치하므로 이것이 최선의 방법이 아닙니다 (모든 Edge-WebKit 차이점은 수정하려는 버그입니다).

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

결론

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


MDN 기사 "사용자 에이전트"무슨 그런 일을 할 때 염두에두고 있어야를 사용하여 브라우저 검색에 대한이.

이와는 별도로 MSDN Library 는 "Edge"에 대한 사용자 에이전트 변경 사항을 설명합니다.

MSDN User-agent 문자열 변경 페이지에서 :

Windows 10 Mobile Insider Preview 용 Microsoft Edge에는 다음과 같은 사용자 에이전트 문자열이 있습니다.

Mozilla / 5.0 (Windows Phone 10.0; Android 4.2.1; 기기 정보) AppleWebKit / 537.36 (KHTML, Gecko와 유사) Chrome / 42.0.2311.135 Mobile Safari / 537.36 Edge / 12. <OS 빌드 번호>


IE Microsoft Edge 를 감지하는 정규식을 찾는 사람들을 위해 다른 SO 답변 에서 하나의 용도를 변경 하고 Edge를 추가했습니다.

/(?:\b(MS)?IE\s+|\bTrident\/7\.0;.*\s+rv:|\bEdge\/)(\d+)/

Edge 버전을 반복하기로 결정한 경우 Edge와 기타 숫자를 확인했습니다.

편집 : 예를 업데이트하려면 Edge와 이전 IE 버전이 모두 매우 다른 브라우저로 간주됩니다. 제 사용 사례는 마케팅 목적으로 IE 브랜드 브라우저를 감지해야했지만 (사용자가 Internet Explorer / Edge 브라우저를 사용하는 경우이를 위해 무언가를 보여주고 싶었습니다)하지만 반드시 해당되는 것은 아닙니다.


Mozilla / 5.0 (Windows Phone 10.0, Android 4.2.1, 기기 정보) AppleWebKit / 537.36 (KHTML, Gecko와 유사) Chrome / 39.0.2171.71 Mobile Safari / 537.36 Edge / 12.0


현재 웹 에이전트는 사이트를 조정하는 핵심 요소가 아니지만 브라우저 기능을 감지해야합니다.

이를 위해서는 Modernizr 와 같은 라이브러리 를 사용하여 사용자를 사용하는 브라우저 공급 업체 또는 버전에 관계없이 특정 브라우저 기능을 확인해야합니다.

참고 : 반대 투표에도 불구하고 모든 사람은 이 Q & A에 대한 다른 답변을 검토해야 합니다.이 답변은 답변이 제공하는 요약 된 답변 뒤에있는 내용을 광범위하게 설명하며 많은 브라우저 공급 업체가 사용자 에이전트 스니핑을 권장하지 않음을 증명합니다. 그것이 내 대답의 이유입니다. 모든 사람이 특정 브라우저가 아닌 기능에 따라 사이트를 조정하도록 제안합니다.


SA가 관리에보고하기 위해 브라우저 유형을 알아야하는 것을 잊었습니다. 정확성을 위해 어떤 브라우저가 사용되는지 명확해야합니다. 깨끗한 빌드에서 Edge 사용자 에이전트에는 "EDGE"키워드가 없습니다.

Mozilla / 5.0 + (Windows + NT + 10.0; + Win64; + x64)

참고 URL : https://stackoverflow.com/questions/30591706/what-is-the-user-agent-string-name-for-microsoft-edge

반응형