최근에 여러 온라인 과정을 수강했는데 일부 강사가 기본적으로 문서 상단에 다음 메타 태그를 추가하는 것을 볼 수 있습니다.
<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가 취하는 흐름을 직접 확인할 수 있습니다.
보시다시피 X-UA-Compatible
메타 태그 나 HTTP 헤더가 없으면 사용자의 “호환성보기”설정을 확인합니다. 사용자가 웹 사이트에 대한 정보가 없으면 IE는 <!DOCTYPE
선언이 있는지 확인합니다 . 하나를 찾으면 자동으로 최신 표준 모드 ( “EmulateIEx”라고도 함)를 사용합니다. 그렇지 않으면 쿼크 모드로 돌아갑니다.
Microsoft 자체의 “X-UA-Compatible”메타 태그를 사용하지 않아야하는 더 많은 이유 (강조) :
Internet Explorer가 X-UA 호환 META 태그를 발견하면 지정된 버전의 엔진을 사용하여 다시 시작됩니다. 이는 브라우저가 콘텐츠 분석을 중지했다가 다시 시작해야하기 때문에 성능 저하 입니다.
즉, 초기 페이지 렌더링 속도가 느려집니다.
X-UA-Compatible 지시문은 응용 프로그램을 업데이트하는 동안 응용 프로그램이 최신 Internet Explorer 버전에서 작동 할 수 있도록하는 도구 입니다.
일시적인 용도로만 설계되었습니다.
가장 좋은 방법은 X-UA 호환 HTTP 헤더 입니다. 응답 헤더에 지시문을 추가하면 Internet Explorer가 콘텐츠 구문 분석을 시작하기 전에 사용할 엔진을 알려줍니다. 이것은 웹 사이트의 서버에서 구성되어야합니다.
즉, 꼭 필요한 경우 X-UA 호환을 구현하는 더 좋은 방법이 있습니다.
2016 년 1 월 12 일부터 지원되는 운영 체제에 사용할 수있는 최신 버전의 Internet Explorer에만 기술 지원 및 보안 업데이트가 제공됩니다. Internet Explorer 11 은 Internet Explorer 의 마지막 버전이며 Windows 7, Windows 8.1 및 Windows 10 에 대한 보안 업데이트, 호환성 수정 및 기술 지원을 계속받습니다 .
IE11은 공식적으로 지원되는 유일한 IE 버전입니다 .
X-UA-Compatible
HTML에 메타 태그 를 포함하는 유일한 이유는 웹 사이트에 대한 IE8, 9 및 10에서 사용자의 “호환성보기”설정을 재정의하기위한 것입니다. 거의 모든 경우에 사용자는 이러한 설정을 변경하지 않았을 것이며 (왜 그렇게했을까요?), 이제 해당 브라우저는 더 이상 지원되지 않습니다.
요컨대 :이 태그는 그날을 보냈습니다.
답변
사용자가 “로컬 인트라넷”영역 (예 : 회사 인트라넷)에있는 페이지를 탐색하는 경우 “호환성보기”가 기본적으로 설정되어 있습니다. IE가 최신 엔진을 사용하도록 강제하기 위해 “X-UA-Compatible”을 사용한 경우입니다.
답변
“Edge”로 설정되어있는 한 HTML5로 유효성을 검사하고 사이트가 이미 호환 모드에서 렌더링하고있는 경우에만 IE가 페이지를 다시 렌더링하도록합니다. 그래도 서버 설정 ( .htaccess
등)에 넣는 것이 각 페이지의 HTML을 넣는 것보다 낫습니다.