티스토리 뷰

HTML

html DOCTYPE 선언 이유 필요성

fnow 2021. 6. 25. 21:56
반응형

문서의 유형을 정의하기 위해 작성하는 <!DOCTYPE>에 대해 알아보자.

 

 

 

 

 

 

 

 

 

DTD와 DOCTYPE 선언

웹 문서는 항상 DTD(문서 유형 정의)를 통해서 현재 문서가 어떤 버전으로 기술되었는지 브라우저에 전달되면서 시작한다. DTD(Document Type Definition)는 XHTML, HTML, HTML5 세 가지 유형이 있으며, 선언된 문서 형식에 따라 마크업 속성을 처리하는 기준이 정해지고, 유효성 검사에 활용된다. HTML은 지원되는 태그가 버전별로 상이한데, 때문에 어떤 유형의 문서인지 정의를 해주어야 웹 브라우저에서 올바르게 인식할 수 있는 것이다. 이 문서 유형을 정의해주는 방법이 DOCTYPE 선언인 것이다.

 

 

 

 

 

왜 선언해야 하는가?

DOCTYPE 선언은 항상 문서 최상단에 위치해야 하며, 생략될 경우 웹 브라우저에서 표준 모드(standards mode)가 아닌 비표준 모드(quirks mode)로 인식해 크로스 브라우징에 오류가 발생할 수 있다. 또한 HTML 버전마다 적용되는 태그가 있고, 아닌 태그가 존재하는데 문서 유형의 선언 없이 구버전과 신버전을 사용한다면 브라우저에서는 현재 버전을 기준으로 구버전을 문법 오류로 간주할 수 있다. 이미 오래전에 작성된 구버전들을 모두 수정할 수 없기 때문에 예전 자료들의 보존을 위해서라도 호환할 수 있는 방안이 필요했다. 구버전의 문서를 오류로 간주한다면, 과거 대부분의 자료들은 사라지게 될 것이다.

 

선언 이유 요약

  1. 크로스 브라우징
  2. 과거 버전 문서의 보존

 

 

 

 

버전별 DOCTYPE 선언

HTML5 선언

HTML5에서는 여러 버전 중에서 가장 간단하게 선언된다. html 태그 앞, 문서의 가장 최상단에 위치해야 한다.

<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
  </body>
</html>

 

HTML 4.01 선언

Strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

 

Transitional

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

 

Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

 

XHTML 1.0 선언

Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

 

 

XHTML 1.1 선언

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

 

반응형
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31