더 이상 X-UA-Compatible IE = Edge를 사용하는 이유는 무엇입니까?
최근에 여러 온라인 과정을 수강했는데 일부 강사가 기본적으로 문서 상단에 다음 메타 태그를 추가하는 것을 볼 수 있습니다.
<meta http-equiv="X-UA-Compatible" content="IE=edge">
이것만큼 중요하고 유용하다고 생각하는 것 같습니다 <meta charset="UTF-8">
.
그런데 왜?
Microsoft의 Modern.ie 문서 에 따르면 "Internet Explorer가 최신 엔진을 사용하도록하는" "모범 사례"입니다. 알겠습니다.
그러나 따르는 경우 MSDN의 흐름도를 그것을 명확하게 보여줍니다이없는 문서`X-UA 호환 정보는 사용자의 "호환성보기"환경 설정에 전달되며, 경우에 그이있어 설정하지 후 바로!의 DOCTYPE 선언을 따릅니다 .
즉, 사용자가 일부 호환성보기 설정이없는 경우 IE는! DOCTYPE을 따르고 어쨌든 렌더링을 위해 브라우저의 최신 표준 모드를 사용합니다X-UA-Compatible IE=Edge
. 설명문이 전혀 필요하지 않습니다 .
MSDN에서 " HTML5 문서 유형 선언을 사용하여 에지 모드 활성화 "라고 말합니다 .
그렇다면 어떤 상황에서 X-UA-Compatible IE=Edge
필요합니까?
@David의 답변이 지적했듯이 "로컬 인트라넷"영역에서 사이트를 호스팅하지 않는 한 <meta http-equiv="X-UA-Compatible" content="IE=edge">
웹 페이지 에 포함 할 이유가 거의 없으며 ( Microsoft의 모범 사례 권장 사항 에 따라 )이를 포함 할 이유가 전혀 없습니다. HTML. (HTML 자체가 아닌 서버 구성 또는 사이트 헤더에 배치해야합니다.)
X-UA-Compatible
프로젝트의 어느 곳에서나 사용 하려는 경우 호환성보기는 IE8, 9 및 10에만 영향을 미친다는 점을 기억해야합니다. IE8에서만 도입되었으며 IE11에서는 비활성화되었습니다.
또한 IE11은 현재 공식적으로 지원되는 유일한 IE 버전입니다 . 모든 이전 버전은 안전하지 않은 것으로 간주되어야합니다.
그것이 당신이 그것을 사용하지 않도록 설득 할 충분한 이유가 아니라면, Microsoft는 IE8 이상이 a <!DOCTYPE
가 있을 때 이미 표준 모드에서 자동으로 렌더링되어 더 무의미하게 만든다고 말합니다.
사용할 문서 모드를 결정하기 위해 IE가 취하는 흐름을 직접 확인할 수 있습니다.
As you can see, if no X-UA-Compatible
meta tag or HTTP header is present, it checks the user's "Compatibility View" settings. If the user doesn't have any for your website, IE then checks for the presence of a <!DOCTYPE
declaration. If it finds one it automatically uses the latest Standards Mode (aka "EmulateIEx"). If it doesn't, it reverts to Quirks Mode.
Even more reasons why you shouldn't use the "X-UA-Compatible" meta tag from Microsoft themselves (emphasis mine):
When Internet Explorer encounters the X-UA-Compatible META tag it starts over using the designated version's engine. This is a performance hit because the browser must stop and restart analyzing the content.
In other words, It slows initial page render
The X-UA-Compatible directive is a tool to allow applications to work in the latest Internet Explorer version while updates are made to the application.
It was only ever designed for temporary use.
The best practice is an X-UA-Compatible HTTP Header. Adding the directive to the response header tells Internet Explorer what engine to use before parsing content begins. This must be configured in the web site's server.
In other words, there's better ways of implementing X-UA-Compatible if you absolutely need it.
Starting from 12 January 2016, only the most current version of Internet Explorer available for a supported operating system will receive technical supports and security updates. Internet Explorer 11 is the last version of Internet Explorer, and will continue to receive security updates, compatibility fixes and technical support on Windows 7, Windows 8.1 and Windows 10.
IE11 is the only officially supported version of IE.
The only reason to include the X-UA-Compatible
meta tag in your HTML was to override a user's "Compatibility View" settings in IE8, 9 and 10 for your website. In almost every case the user will not have changed these settings (why would they?), and now those browsers are not even supported anymore.
In short: This tag has had its day.
If the user is browsing a page located in the "Local Intranet" zone (such as on a corporate intranet), the "compatibility view" is turned on by default. This is when I have used "X-UA-Compatible" to force IE to use the latest engine.
As long as it is set to “Edge” it validates as HTML5, and I'm told it only causes IE to re-render the page if the site was already rendering it in Compatibility mode. Still, putting it in the server config (.htaccess
, etc.) is better than putting in the HTML of each page.
Henri Sivonen made a very useful reference about how browsers chose the rendering mode. You can read it all there: https://hsivonen.fi/doctype/.
참고 URL : https://stackoverflow.com/questions/26346917/why-use-x-ua-compatible-ie-edge-anymore
'development' 카테고리의 다른 글
.un ~ 파일이란 무엇입니까? 아니면 터미널의 Vim이 .un ~ 파일을 만드는 이유는 무엇입니까? (0) | 2020.09.25 |
---|---|
Visual Studio 경고 수준 의미? (0) | 2020.09.25 |
자바 스크립트 객체 리터럴 : {a, b, c}는 정확히 무엇입니까? (0) | 2020.09.24 |
finally 블록을 사용하는 이유는 무엇입니까? (0) | 2020.09.24 |
JSON 키에 인용 문자열을 사용하는 실용적인 이유가 있습니까? (0) | 2020.09.24 |