답변:
그렇다면 왜 Edge가 아닌 Mozilla, Chrome 및 Safari가 있습니까?
웹 페이지 디자이너는 게으 르며 방문자가 특정 브라우저에서만 지원하는 더 쉬운 프레임 워크를 사용하려고하기 때문에 방문자가 특정 브라우저를 사용하지 못하게합니다.
또한 사용자 에이전트 검사의 유용성을 제한하기위한 의도적 인 디자인 결정입니다. 이 결정은 Spartan / Edge 개발자의 관점에서 볼 때 과거에는 웹 사이트가 IE를 구체적으로 찾고 사용자에게 다른 브라우저를 사용하도록 알릴 것이라는 것입니다.
Edge / Spartan은 트라이던트 엔진을 현대화하려는 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 (Gcko와 같은 KHTML) 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)
Edge는 Chrome 인 척하고 Chrome은 Safari 인 척하고 Safari는 Mozilla 인 척했습니다. 그리고 Edge는 EdgeHTML을 사용했지만 공개하지 않았고 Chrome은 Blink를 사용했지만 공개하지 않았지만 Chrome은 WebKit을 사용하는 척했습니다. 그리고 Webkit은 KHTML 인 척하고 KHTML은 Gecko 인 척했습니다. 그리고 웹의 얼굴에 혼란이 과도하게 많았습니다.
에서 촬영 마이크로 소프트 에지에 대한 사용자 에이전트 문자열 이름은 무엇? Claude의 코멘트
Microsoft Edge UA 문자열 :
Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (Gcko와 같은 KHTML) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136
Neowin은 최근 Windows 10 Spartan 용 Microsoft의 새로운 브라우저가 Chrome UA 문자열 인 “Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (Kcko, Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 ″. 그것은 의도적으로 이루어집니다.
또한 전체 문자열은“Edge / 12.0”으로 끝나며 Chrome에서는 그렇지 않습니다.
필자는 이것이 Microsoft가 IE 11을 사용하여 한 일과 재발견이 아니라는 점을 지적해야합니다. 게시하다.
사용자 에이전트 스니핑이란 무엇입니까?
종종 웹 개발자는 브라우저 감지를 위해 UA 스니핑을합니다. Mozilla는 블로그에서이를 잘 설명합니다.
다른 웹 페이지 나 서비스를 다른 브라우저에 제공하는 것은 일반적으로 나쁜 생각입니다. 웹은 사용중인 브라우저 나 장치에 관계없이 모든 사람이 액세스 할 수 있어야합니다. 특정 브라우저를 대상으로하지 않고 기능의 가용성에 따라 점진적으로 향상되도록 웹 사이트를 개발하는 방법이 있습니다.
다음은 사용자 에이전트의 이력을 설명하는 훌륭한 기사입니다.
종종 게으른 개발자는 UA 문자열을 검색하여 뷰어가 사용하고 있다고 생각하는 브라우저에 따라 웹 사이트의 콘텐츠를 비활성화합니다. Internet Explorer 8은 개발자들에게있어 좌절의 일반적인 지점이므로 사용자가 IE의 모든 버전을 사용하고 있는지 확인하고 기능을 비활성화합니다.
모든 사용자 에이전트 문자열에는 토큰뿐만 아니라 '의미있는'버전 번호와 같은 실제 브라우저 이외의 다른 브라우저에 대한 자세한 정보가 포함되어 있습니다.
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 (Gcko와 같은 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 문자열을 제시함으로써 개발자가 사용하는 해킹을 해결하여 사용자에게 최고의 경험을 제공 할 수 있습니다.
에서 촬영 마이크로 소프트 에지에 대한 사용자 에이전트 문자열 이름은 무엇? Dave Voyles의 답변 입니다.