html태그가 아닌 해당 문서가 어떤 버전으로 작성이 되었는지 알려주는 선언문으로 브라우저에게 어떤 타입의 문서인지 알려주는 역할을 한다. 모든 html 문서는 반드시 이 DOCTYPE 선언으로 시작해야 한다.
HTML5 이전에는 반드시 DTD(Document Type Definition, 문서 타입 정의)를 표시해야하는 좀더 복잡한 형식으로 선언했으나 HTML5에서는 현재의 간략한 선언문을 사용하게 되었다.
<!-- HTML 5-->
<!DOCTYPE html>
<!-- HTML 4.01 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- XTML 1.1 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
HTML5 이전의 DOCTYPE 선언에서는 HTML 4.01
, XHTML 1.1
과 같이 특정 버전을 선언문에 써줘야했다.
DOCTYPE을 제대로 선언해주지 않거나 선언하지 않는다면 브라우저가 비표준 방식으로 해석하게 되므로 반드시 올바르게 선언해주어야 한다.
각 DOCTYPE 별로 유효한 html 태그도 상이하기 때문에 반드시 올바른 DOCTYPE 선언을 해야 한다.
참고자료
W3School doctype declaration
W3School HTML element Valid DOCTYPE