[HTML/CSS]DOCTYPE이란? (DTD)

Reve - 2016/06/21

# 1. DTD란?

Document Type Definition의 줄임말로 문서의 처음에 문서의 타입을 정의해주는 것을 말하며, DOCTYPE은 문서의 첫번째로 DTD를 나타내는 태그를 말한다.

HTML관련 툴을 사용하면 다음과 같이 자동생되는 태그를 볼 수 있다.

<!DOCTYPE html>
...
1
2

이것을 DTD라고 한다.


# 2. DTD를 선언해야 하는 이유는?

DTD는 웹브라우저가 파서(parser)를 이용해 해당 문서의 마크업(markup)을 분석할 수 있도록 렌더링 모드 지정과 유효성 검사를 할 수 있게 해 준다. DTD가 선언되어있지 않다면 웹브라우저는 쿼크모드(Quirks mode)로 수행되는데 이는 하위 호환성을 위해 존재하는 모드로 같은 코드라도 브라우저마다 서로 다르게 해석하는 문제가 발생한다.


# 3. DTD종류

  • HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
1
2
3
  • XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
1
2
3
  • XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1
  • HTML5
<!DOCTYPE html>
1
HTML_CSS 카테고리 내 다른 포스트