본문 바로가기

Developer

개발자를 위한 웹 표준 HTML의 이해 1(DTD[Document Type Definition])

 

웹 개발자를 위한 웹 표준 코딩을 위한 HTML의 이해 그 첫 번째 시간입니다.

오늘은 HTML에서 가장 최 상위에 선언되는 DTD에 대해서 알아보도록 하겠습니다.

 

DTD 사용 이유!

DTD는 브라우저의 렌더링 모드를 지정하고 유효성 검증기의 기준이 되므로 HTML 문서의 상단에 선언되어야 합니다.

DTD가 선언 되어 있지 않는 경우에는 브라우저 별로 Tag의 해석 방식이 다른 Quirks mode로 렌더링 되어 브라우저 별로 각각 다른 화면이 나타날 수 있습니다.

Wiki ko 참고 : http://ko.wikipedia.org/wiki/HTML#.EB.AC.B8.EC.84.9C_.ED.98.95.EC.8B.9D_.EC.84.A0.EC.96.B8

 

DTD의 종류로는 HTML 4.01, XHTML 1.0, XHTML 1.1, XHTML Basic 1.1, HTML 5 등등 이 있습니다.

좀 더 자세한 내용은 아래 링크를 참고하여 주십시오.

 

http://www.w3.org/QA/2002/04/valid-dtd-list.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">


위에서 말씀 드린 바와 같이 DTD의 선언에 따라서 Browser의 Rendering Mode가 결정되기 때문에 각각의 DTD마다 작성된 Page가 동일하게 보이지 않을 수 있습니다.

 

DTD에 따른 브라우저 별 렌더링 모드는 다음 URL에서 확인 할 수 있습니다.

http://en.wikipedia.org/wiki/Quirks_mode#Comparison_of_document_types


각각의 DTD에도 Strict Mode, Transitional Mode, Frameset Mode가 있으며 해당 모드에 대한 자세한 내용은 다음 URL에서 확인 할 수 있습니다.


http://www.cadvance.org/?leftmenu=doc/include/total_menu.asp&mainpage=doc/xhtml/intro/xhtml_dtd.asp

 

여기까지가 개발자가 기본적으로 알아야 될.

DTD에 대한 내용입니다.


첨언 하자면.. 개발자가 사용하기 좋은 DTD는 XHTML 1.0입니다.

엄격하고 호환성이 좋은 이유 때문입니다.

 

제가 참고한 사이트 들입니다.

http://naradesign.net/wp/

http://www.cadvance.org/

 

가장 큰 도움 : http://www.w3.org/


2011/02/15 - [Developer/웹개발 기초] - 개발자를 위한 웹 표준 HTML의 이해 2(Block elements, Inline elements)

2011/02/16 - [Developer/Web] - 개발자를 위한 웹 표준 HTML의 이해 3(Web Content Accessibility Guidelines 1.0)



감사합니다.