<!DOCTYPE html>
SGML 계열의 마크업 언어에서 문서 형식을 정의하는 것으로, SGML을 비롯해 HTML, XHTML, XML 등에서 쓰인다.
즉, 브라우저에게 "이 문서가 어떤 문서 형식을 따르고 있다"라고 알려주는 것
- 마크업 언어 ? 태그를 이용하여 문서나 데이터의 구조를 명기하는 언어
- SGML (Standard Generalized Markup Language) ? 문서용 마크업 언어를 정의하기 위한 메타 언어
DTD를 어떻게 선언하느냐에 따라 브라우저의 렌더링 모드가 바뀌게 되고, 사용할 수 있는 태그와 속성이 바뀌게 되므로 DTD를 반드시 선언해야 한다.
DTD를 선언하지 않을 경우 브라우저가 표준모드가 아니라 비표준모드로 렌더링되어 크로스 브라우징에 어려움을 겪게 된다.
엄격한 규격으로 CSS 사용을 장려하기 위해 단계적으로 사라질 표현에 관한 태그 (font 태그 등)와 속성을 배제한 문서 타입
과도기적인 규격으로, 표준이 정립되지 않은 때에 기존에 만들어진 문서들과의 호환성을 위해서 사용
현재는 거의 사용하지 않는 프레임셋(html 안에 html을 분리하는 것)을 구현하는데 사용
HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" http://www.w3.org/TR/html4/frameset.dtd">
HTML5 이전의 doctype은 SGML 기반이라 뒤에 DTD 참조 URL이 들어간다.
HTML5의 경우 SGML에 기반을 두지 않아 DTD 참조가 필요없으며, 최소한의 코드 작성이 기본 방향이라 매우 간단히 선언할 수 있다.
HTML5
<!DOCTYPE html>