HTML은 월드 와이드 웹에서 하이퍼 텍스트를 게시하는 공통 언어입니다 [1]. 1982 년부터 Tim Berners-Lee는 2001 년 XHTML1.1 사양의 릴리스에 대한 SGML의 원래 정의를 단순화하여 여러 버전의 국제 표준이되었습니다 [2]. 각 버전의 사양은 DTD라고하는 문서 유형 정의 인 법적 구조, 요소 및 속성을 설명하는 기계 읽을 수있는 언어로 정의됩니다.
관련 기사 : HTML 코드 학습 : DocType의 약어
DTD는 HTML 문서 앞면에서 문서 유형 선언 (DTD 선언, DocType [3])에 대해 설명합니다. 연락처 문서 및 DTD 지침입니다. 예를 들어, HTML4.01의 DocType는 다음과 같습니다.
<!doctype html public -//w3c//dtd html 4.01//en http://www.w3.org/tr/html4/strict.dtd>브라우저와 같은 도구가 문서를 구문 분석 할 때 가장 필요한 정보 인 문서의 HTML 버전을 지정합니다. 예를 들어, W3C 검증 도구는 구문을 확인하고 이에 따라 오류를 지적 할 수 있습니다.
초기 브라우저의 표준 오류 구현, 많은 개인 확장, 초기 표준 자체의 혼란 등으로 인해 문서는 DocType 나 직접적인 참조로 이어졌으며 브라우저가이를 구별 할 수 없기 때문에 새로운 표준을 적용하고 대중화하기가 어려워졌습니다. Todd Fahrner는 구식 관행에 따라 작성된 웹 표준 및 웹 페이지를 처리하기 위해 1998 년에 브라우저가 두 개의 렌더링 모드 세트를 제공 할 수 있도록 토글 방법을 제안했습니다. 즉, W3C 표준을 사용하여 사용되는 완전한 양조장 문서가 있습니다.
이 방법은 실용적이고 간단하며 효과적입니다. 2 년 후, IE의 MAC 버전에 처음으로 사용되었을 때, 곧 다른 브라우저 제조업체는이를 채택하여 DocType 스니핑 (DocType Sniffing 또는 DocType Switching)을 낳았습니다. 브라우저는 엔진이 표준 모드, 준 표준 모드 또는 Quirk 모드를 채택 해야하는지 여부를 결정하는데, 이는 HTML 및 CSS, CSS 및 JavaScript 스크립트의 레이아웃에 큰 영향을 미칩니다 [5]. 표준 모델을 가능한 한 많이 채택해야한다는 것은 의심의 여지가 없습니다.
HTML5는 여전히 초안에 있지만 최신 브라우저 Firefox3.5, Chrome2, Safari4 및 IE8은 일부 기능을 지원하기 시작했습니다. 특히 Google Wave의 출시는 HTML5의 실습을 촉진하는 데 새로운 클라이 막스를 시작했습니다. HTML5는 SGML을 기반으로하거나 DTD를 기반으로하는 것이 아니라 전방 호환성을 위해 DocType 스니핑이 텍스트/html에서 유일한 모드 변환 선언이라는 사실을 정의하는 사실을 받아들입니다. doctype는 매우 간결합니다 : <! doctype html> [6].
전방 호환성의 문제를 해결하기 위해 IE8은 X-UA 호환 선언 [7]을 채택하며, 이는 Doctype 스니핑뿐만 아니라 X-UA 경쟁 선언에 의존하는 IE8의 브라우저의 렌더링 모드로 이어진다는 것을 언급 할 가치가 있습니다. 이것은 더 복잡한 패턴 판단으로 이어질뿐만 아니라 [8] 웹 디자인의 점진적인 향상 아이디어를 위반한다 [9].
웹 표준으로가는 길에는 현실주의와의 호환성뿐만 아니라 이상주의와의 후진 호환성이 필요합니다. 이것은 우리 웹이 앞으로 정상적으로 작동 할 수 있도록하기위한 희망입니다. 표준, 단순성 및 점차적으로 향상이라는 아이디어를 통해 우리 페이지에 가장 적합한 솔루션은 아마도 다음과 같습니다.
<!doctype html>…<meta http-equiv=x-ua-compatible content=ie=edge>…참고 :