우리가 브라우저(i.e, chrome...)로 보는 웹페이지(html)는,
웹페이지에 정의된 DOCTYPE과 그에 해당하는 웹브라우저의 해석기로 렌더링 되어 보여집니다.
예를 들면 html 문서에서 doctype 을 xhtml1.0 transitional로 정의했으면
브라우저에서도 xhtml1.0 transitional로 모든 markup을 렌더링하여 보여줍니다.
만약 doctype 을 정의하지 않는다면, 브라우저 마다 내장된 호환모드(quirks mode)로 웹페이지를 해석하고,
제각기 화면들을 출력할 것입니다. 이러길 원하는 분은 없겠죠?
그래서 어느 브라우저든 동일한 화면이 보여지도록 하기 위해 웹페이지에 doctype 을 정의하고,
그에 맞는 markup 형식을 사용하도록 w3c 는 권고하고 있습니다.
이것이 바로 웹표준, 크로스 브라우징의 시작입니다.
다음은 (X)HTML DOCTYPE 리스트 입니다.
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"> | |
HTML 5 | <!DOCTYPE html> |
HTML4.01, XHTML1.0, HTML5 는 HTML 의 버전이라고 생각하면 될 듯 합니다.
버전을 선택했다면 어떤 DTD를 사용할 것인지 정의하고 그에 맞는 markup 을 사용합니다.
DTD는 Strict, Transitional, Frameset(Transitional+Frameset) 이 있으며 Strict 를 권장합니다.
Transitional는 DTD와 다르게 사용된 markup을 어느 정도 지원해 주지만,
Strict의 렌더링 속도가 더 빠르기 때문에 요즘 대세인 모바일웹에서는 의미가 있습니다.
HTML5는 아직까지는 표준이 아니며,
현재 대부분의 웹브라우저에서 가장 잘 표현이 되는 doctype 은 XHTML 1.0 Strict 입니다.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.